示例#1
0
 public void CreateString1()
 {
     Assert.Throws <ArgumentNullException> (() => new CFMutableString((string)null), "null");
     using (var s = new CFMutableString("bonjour!")) {
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle-1");
     }
 }
示例#2
0
 public void CreateString0()
 {
     using (var s = new CFMutableString()) {
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
         Assert.That(s.ToString(), Is.Empty, "ToString");
     }
 }
示例#3
0
 public void AppendString_RtL()
 {
     using (var s = new CFMutableString()) {
         s.Append("שלום");
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
         Assert.That(s.ToString(), Is.EqualTo("שלום"), "ToString");
     }
 }
示例#4
0
 public void CreateString2()
 {
     Assert.Throws <ArgumentException> (() => new CFMutableString("", -1), "negative");
     using (var s = new CFMutableString("bonjour!", 20)) {
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
         Assert.That(s.ToString(), Is.EqualTo("bonjour!"), "ToString");
     }
 }
示例#5
0
 public void AppendString_Unicode()
 {
     using (var s = new CFMutableString("Bonjour")) {
         s.Append(" à tous les \ud83d\udc11!");
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
         // make it fail and you see the sheep printed in the touchunit runner UI :)
         Assert.That(s.ToString(), Is.EqualTo("Bonjour à tous les \ud83d\udc11!"), "ToString");
     }
 }
示例#6
0
 public void CreateCFString1()
 {
     Assert.Throws <ArgumentNullException> (() => new CFMutableString((CFString)null), "null");
     using (var c = new CFString("bonjour"))
         using (var s = new CFMutableString(c)) {
             Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
             Assert.That(s.ToString(), Is.EqualTo("bonjour"), "ToString");
         }
 }
示例#7
0
        public void TransformNoRangeEnum()
        {
            using (var s = new CFMutableString("Bonjour à tous!")) {
                Assert.True(s.Transform(CFStringTransform.ToXmlHex, false), "Transform-1");
                Assert.That(s.ToString(), Is.EqualTo("Bonjour &#xE0; tous!"), "ToString-1");

                Assert.True(s.Transform(CFStringTransform.ToXmlHex, true), "Transform-2");
                Assert.That(s.ToString(), Is.EqualTo("Bonjour à tous!"), "ToString-2");
            }
        }
示例#8
0
 public void AppendString()
 {
     using (var s = new CFMutableString()) {
         Assert.Throws <ArgumentNullException> (() => s.Append((string)null), "null");
         // from NSHipster
         s.Append("Énġlišh långuãge lẳcks iñterêßţing diaçrïtičş!");
         Assert.That(s.Handle, Is.Not.EqualTo(IntPtr.Zero), "Handle");
         Assert.That(s.ToString(), Is.EqualTo("Énġlišh långuãge lẳcks iñterêßţing diaçrïtičş!"), "ToString");
     }
 }
示例#9
0
        public void TransformICU()
        {
            using (var s = new CFMutableString("hello world")) {
                Assert.True(s.Transform("Title", false), "Transform-1");
                Assert.That(s.ToString(), Is.EqualTo("Hello World"), "ToString-1");

                Assert.True(s.Transform((NSString)"Title", true), "Transform-2");
                Assert.That(s.ToString(), Is.EqualTo("hello world"), "ToString-2");
            }
        }
示例#10
0
 public void TransformNull()
 {
     using (var s = new CFMutableString("hello")) {
         Assert.Throws <ArgumentNullException> (() => s.Transform((string)null, false), "null-1");
         Assert.Throws <ArgumentNullException> (() => s.Transform((CFString)null, true), "null-2");
         Assert.Throws <ArgumentNullException> (() => s.Transform((NSString)null, false), "null-3");
         var r = new CFRange(2, 2);
         Assert.Throws <ArgumentNullException> (() => s.Transform((string)null, true), "null-4");
         Assert.Throws <ArgumentNullException> (() => s.Transform((CFString)null, false), "null-5");
         Assert.Throws <ArgumentNullException> (() => s.Transform((NSString)null, true), "null-6");
     }
 }
示例#11
0
        public void TransformRangeEnum()
        {
            var r = new CFRange(0, 15);

            using (var s = new CFMutableString("Bonjour à tous!")) {
                Assert.True(s.Transform(ref r, CFStringTransform.ToXmlHex, false), "Transform-1");
                Assert.That(s.ToString(), Is.EqualTo("Bonjour &#xE0; tous!"), "ToString-1");
                Assert.That(r.Length, Is.EqualTo(20), "Length-1");

                Assert.True(s.Transform(ref r, CFStringTransform.ToXmlHex, true), "Transform-2");
                Assert.That(s.ToString(), Is.EqualTo("Bonjour à tous!"), "ToString-2");
                Assert.That(r.Length, Is.EqualTo(15), "Length-2");
            }
        }
示例#12
0
 public static bool GetPinyin(string s, out CFMutableString str)
 => TransformMandarinLatin(s, out str) &&
 str.Transform(CFStringTransform.StripDiacritics, false);
示例#13
0
 public static bool TransformMandarinLatin(string s, out CFMutableString str)
 {
     str = new CFMutableString(s);
     return(str.Transform(CFStringTransform.MandarinLatin, false));
 }