summaryrefslogtreecommitdiff
path: root/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests.py')
-rwxr-xr-xtests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests.py b/tests.py
index 9dc5f1b..2b5608e 100755
--- a/tests.py
+++ b/tests.py
@@ -47,6 +47,28 @@ class SpecificationTests(unittest.TestCase):
self.assertTrue(isinstance(resolve_pointer(doc, "/foo/-"), EndOfList))
self.assertRaises(JsonPointerException, resolve_pointer, doc, "/foo/-/1")
+ def test_round_trip(self):
+ paths = [
+ "",
+ "/foo",
+ "/foo/0",
+ "/",
+ "/a~1b",
+ "/c%d",
+ "/e^f",
+ "/g|h",
+ "/i\\j",
+ "/k\"l",
+ "/ ",
+ "/m~0n",
+ ]
+ for path in paths:
+ ptr = JsonPointer(path)
+ self.assertEqual(path, ptr.path)
+
+ parts = ptr.parts
+ new_ptr = JsonPointer.from_parts(parts)
+ self.assertEqual(ptr, new_ptr)
class ComparisonTests(unittest.TestCase):