def test_it_raises_an_error_on_unrecognized_escape_sequences(self): with self.assertRaises(error.UnrecognizedEscapeSequence): Pointer.resolve_in('/~2', document={}) with self.assertRaises(error.UnrecognizedEscapeSequence): Pointer.resolve_in('~2', document={})
def test_it_raises_an_error_on_unescaped_tilde(self): with self.assertRaises(error.UnescapedTilde): Pointer.resolve_in('/~', document={}) with self.assertRaises(error.UnescapedTilde): Pointer.resolve_in('~', document={})
def check_pointer_equal(self, document, pointer, value): self.assertEqual(Pointer.resolve_in(pointer, document), value) # test that starting slash in non-empty pointer is optional if (len(pointer) > 1 and pointer[0] == '/'): self.assertEqual(Pointer.resolve_in(pointer[1:], document), value)
def test_it_raises_an_error_if_key_not_in_document(self): with self.assertRaises(error.MemberNotDefined): Pointer.resolve_in('/key', document={}) with self.assertRaises(error.MemberNotDefined): Pointer.resolve_in('key', document={})
def test_it_raises_an_error_for_non_numeric_array_index(self): with self.assertRaises(error.InvalidArrayIndex): Pointer.resolve_in('/key', document=[]) with self.assertRaises(error.InvalidArrayIndex): Pointer.resolve_in('key', document=[])
def test_it_raises_an_error_for_array_index_out_of_range(self): with self.assertRaises(error.IndexOutOfRange): Pointer.resolve_in('/5', document=[]) with self.assertRaises(error.IndexOutOfRange): Pointer.resolve_in('5', document=[])
def test_it_raises_an_error_for_dash_as_an_array_index(self): with self.assertRaises(error.DashArrayIndexNotSupported): Pointer.resolve_in('/-', document=[]) with self.assertRaises(error.DashArrayIndexNotSupported): Pointer.resolve_in('-', document=[])