Ejemplo n.º 1
0
        public void KeywordTest()
        {
            var root = new JsonPointer();

            root.Push(Keyword.AdditionalProperties);
            Assert.Equal("#/additionalProperties", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push(Keyword._Ref);
            Assert.Equal("#/additionalProperties/$ref", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 2
0
        public void PropertiesTest()
        {
            var root = new JsonPointer();

            root.Push("alpha");
            Assert.Equal("#/alpha", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push("beta");
            Assert.Equal("#/alpha/beta", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 3
0
        public void EscapeTest()
        {
            var root = new JsonPointer();

            root.Push("~/bin");
            Assert.Equal("#/~0~1bin", root.Text);
            Assert.Equal(root.Text, root.ToString());
            Assert.Equal("~/bin", root.FirstProperty);

            root.Push("sh.exe");
            Assert.Equal("#/~0~1bin/sh.exe", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 4
0
        public static void JsonPointer_ToString()
        {
            var sut = new JsonPointer();
            var str = sut.ToString();

            Assert.Equal("", str);

            sut = new JsonPointer("");
            str = sut.ToString();
            Assert.Equal("/", str);

            sut = new JsonPointer("", "test");
            str = sut.ToString();
            Assert.Equal("//test", str);

            sut = new JsonPointer("test", "");
            str = sut.ToString();
            Assert.Equal("/test/", str);

            sut = new JsonPointer("test/", "");
            str = sut.ToString();
            Assert.Equal("/test~1/", str);

            sut = new JsonPointer("test~", "");
            str = sut.ToString();
            Assert.Equal("/test~0/", str);

            sut = new JsonPointer("test~/", "");
            str = sut.ToString();
            Assert.Equal("/test~0~1/", str);
        }
Ejemplo n.º 5
0
        public void IndexTest()
        {
            var root = new JsonPointer();

            root.Push(1);
            Assert.Equal("#/1", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push(2);
            Assert.Equal("#/1/2", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push(0);
            Assert.Equal("#/1/2/0", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 6
0
        public void EmptyJsonPointerTest()
        {
            var root = new JsonPointer();

            Assert.Equal("#/", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BodyExpression"/> class.
 /// </summary>
 /// <param name="pointer">a JSON Pointer [RFC 6901](https://tools.ietf.org/html/rfc6901).</param>
 public BodyExpression(JsonPointer pointer)
     : base(pointer?.ToString())
 {
     if (pointer == null)
     {
         throw Error.ArgumentNull(nameof(pointer));
     }
 }
Ejemplo n.º 8
0
        public void MixTest()
        {
            var root = new JsonPointer();

            root.Push(Keyword.Items);
            Assert.Equal("#/items", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push(2);
            Assert.Equal("#/items/2", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push(Keyword.Properties);
            Assert.Equal("#/items/2/properties", root.Text);
            Assert.Equal(root.Text, root.ToString());

            root.Push("Name");
            Assert.Equal("#/items/2/properties/Name", root.Text);
            Assert.Equal(root.Text, root.ToString());
        }
Ejemplo n.º 9
0
        public void AddReference(JsonPointer source, JsonPointer target)
        {
            var sourceAsString = source.ToString();

            if (!_refMap.TryGetValue(sourceAsString, out var map))
            {
                map = new SerializationReference(source);
                _refMap[sourceAsString] = map;
            }

            map.Targets.Add(target);
        }
Ejemplo n.º 10
0
 protected static void WriteFromPath(JsonWriter writer, JsonPointer pointer)
 {
     writer.WritePropertyName("from");
     writer.WriteValue(pointer.ToString());
 }
Ejemplo n.º 11
0
 public static void ShouldBe(this JsonPointer jsonPointer, string expectedValue)
 {
     jsonPointer.ToString().ShouldBe(expectedValue);
 }