summaryrefslogtreecommitdiff
path: root/tests.py
diff options
context:
space:
mode:
authorStefan Kögl <stefan@skoegl.net>2012-09-07 11:25:32 +0200
committerStefan Kögl <stefan@skoegl.net>2012-09-07 11:25:32 +0200
commit3fadd63a77c7074fa7a4cd6bc04b0c34891a0d64 (patch)
tree79fe27d661719ae8ae78de3642d1dcc03d4d23c7 /tests.py
parentc446946cd179bc2bcfb79699e454519ade1d94c6 (diff)
downloadpython-json-pointer-3fadd63a77c7074fa7a4cd6bc04b0c34891a0d64.tar.gz
update jsonpointer to current specv0.3
http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-04
Diffstat (limited to 'tests.py')
-rwxr-xr-xtests.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests.py b/tests.py
index 3a4b6a2..df500cc 100755
--- a/tests.py
+++ b/tests.py
@@ -5,11 +5,46 @@ from __future__ import print_function
import doctest
import unittest
import sys
+from jsonpointer import resolve_pointer
+
+class SpecificationTests(unittest.TestCase):
+ """ Tests all examples from the JSON Pointer specification """
+
+ def test_example(self):
+ doc = {
+ "foo": ["bar", "baz"],
+ "": 0,
+ "a/b": 1,
+ "c%d": 2,
+ "e^f": 3,
+ "g|h": 4,
+ "i\\j": 5,
+ "k\"l": 6,
+ " ": 7,
+ "m~n": 8
+ }
+
+ self.assertEqual(resolve_pointer(doc, ""), doc)
+ self.assertEqual(resolve_pointer(doc, "/foo"), ["bar", "baz"])
+ self.assertEqual(resolve_pointer(doc, "/foo/0"), "bar")
+ self.assertEqual(resolve_pointer(doc, "/"), 0)
+ self.assertEqual(resolve_pointer(doc, "/a~1b"), 1)
+ self.assertEqual(resolve_pointer(doc, "/c%d"), 2)
+ self.assertEqual(resolve_pointer(doc, "/e^f"), 3)
+ self.assertEqual(resolve_pointer(doc, "/g|h"), 4)
+ self.assertEqual(resolve_pointer(doc, "/i\\j"), 5)
+ self.assertEqual(resolve_pointer(doc, "/k\"l"), 6)
+ self.assertEqual(resolve_pointer(doc, "/ "), 7)
+ self.assertEqual(resolve_pointer(doc, "/m~0n"), 8)
+
+
+
modules = ['jsonpointer']
coverage_modules = []
suite = unittest.TestSuite()
+suite.addTest(unittest.makeSuite(SpecificationTests))
for module in modules:
m = __import__(module, fromlist=[module])