diff options
Diffstat (limited to 'tests.py')
-rwxr-xr-x | tests.py | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -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]) |