예제 #1
0
        public void testSplit()
        {
            var strings = PhpArray.NewEmpty();

            strings.Add("/foo/bar", PhpArray.New("/foo", "bar"));
            strings.Add("/foo/bar/", PhpArray.New("/foo", "bar"));
            strings.Add("foo/bar/", PhpArray.New("foo", "bar"));
            strings.Add("foo/bar", PhpArray.New("foo", "bar"));
            strings.Add("foo/bar/baz", PhpArray.New("foo/bar", "baz"));
            strings.Add("foo/bar/baz/", PhpArray.New("foo/bar", "baz"));
            strings.Add("foo", PhpArray.New("", "foo"));
            strings.Add("foo/", PhpArray.New("", "foo"));
            strings.Add("/foo/", PhpArray.New("", "foo"));
            strings.Add("/foo", PhpArray.New("", "foo"));
            strings.Add("", PhpArray.New(PhpValue.Null, PhpValue.Null));
            // input                    // expected result
            // UTF-8
            //"/\xC3\xA0fo\xC3\xB3/bar" => ["/\xC3\xA0fo\xC3\xB3", 'bar'],
            //"/\xC3\xA0foo/b\xC3\xBCr/" => ["/\xC3\xA0foo", "b\xC3\xBCr"],
            //"foo/\xC3\xA0\xC3\xBCr" => ['foo', "\xC3\xA0\xC3\xBCr"],
            var func = new Sabre.Uri.UriFunctions();

            foreach (var str in strings)
            {
                var output = func.split(str.Key.String);
                Assert.AreEqual(str.Value, output);
            }
        }
예제 #2
0
 public void Setup()
 {
     func = new Sabre.Uri.UriFunctions();
 }