diff options
author | kafkaf- <thekafkaf@gmail.com> | 2014-11-05 23:06:31 +0200 |
---|---|---|
committer | kafkaf- <thekafkaf@gmail.com> | 2014-11-05 23:06:31 +0200 |
commit | 4dc82340e04f1f445e072952ec03a3e9f544bc66 (patch) | |
tree | 4403e7a8bff9a2dc07d6deecf3e0effbd10c93c7 /jsonpointer.py | |
parent | 490c7a25147b0674fc0234d0462726595bd4fd87 (diff) | |
download | python-json-pointer-4dc82340e04f1f445e072952ec03a3e9f544bc66.tar.gz |
Catching a broad exception to ensure the return of the default, added tests, fixed a bug where obj.contains(obj) returned false, added test case
Diffstat (limited to 'jsonpointer.py')
-rw-r--r-- | jsonpointer.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/jsonpointer.py b/jsonpointer.py index ee7f266..02aa594 100644 --- a/jsonpointer.py +++ b/jsonpointer.py @@ -166,7 +166,8 @@ class JsonPointer(object): try: doc = self.walk(doc, part) - except JsonPointerException: + # Catching a broad exception to ensure the return of the default + except: if default is _nothing: raise else: @@ -215,7 +216,7 @@ class JsonPointer(object): else: raise JsonPointerException("Document '%s' does not support indexing, " - "must be dict/list or support __getitem__" % type(doc)) + "must be mapping/sequence or support __getitem__" % type(doc)) def walk(self, doc, part): @@ -249,7 +250,7 @@ class JsonPointer(object): def contains(self, ptr): """ Returns True if self contains the given ptr """ - return len(self.parts) > len(ptr.parts) and \ + return len(self.parts) >= len(ptr.parts) and \ self.parts[:len(ptr.parts)] == ptr.parts @property |