def test_windows_normalize(self): uri = GenericDataType.decode('c:stuff/blah') self.assertEqual('c:stuff/blah', uri.path) self.assertEqual('file', uri.scheme) uri = GenericDataType.decode('file:///c:/stuff/blah') self.assertEqual('c:/stuff/blah', uri.path) self.assertEqual('file', uri.scheme) uri = GenericDataType.decode('C:/stuff/blah') self.assertEqual('c:/stuff/blah', uri.path) self.assertEqual('file', uri.scheme)
def test_query(self): ref = '?query' ref = GenericDataType.decode(ref) self.assertEqual(bool(ref.scheme), False) self.assertEqual(bool(ref.authority), False) self.assertEqual(len(ref.path), 0) self.assertEqual(ref.query, {'query': None})
def test_full(self): ref = 'http://example.com/a/b/c?query#fragment' ref = GenericDataType.decode(ref) self.assertEqual(ref.scheme, 'http') self.assertEqual(ref.authority, 'example.com') self.assertEqual(ref.path, '/a/b/c') self.assertEqual(ref.query, {'query': None}) self.assertEqual(ref.fragment, 'fragment')
def setUp(self): self.base = GenericDataType.decode('http://a/b/c/d;p?q')
def test_dot(self): self.assertEqual(str(GenericDataType.decode('.')), '.')
def test_empty(self): self.assertEqual(str(GenericDataType.decode('')), '')
def test_path(self): ref = '/a/b/c' ref = GenericDataType.decode(ref) self.assertEqual(bool(ref.scheme), False) self.assertEqual(bool(ref.authority), False) self.assertEqual(ref.path, '/a/b/c')
def test_fragment(self): self.assertEqual(str(GenericDataType.decode('#')), '#')
def test_network(self): ref = '//example.com/a/b' ref = GenericDataType.decode(ref) self.assertEqual(bool(ref.scheme), False) self.assertEqual(ref.authority, 'example.com') self.assertEqual(ref.path, '/a/b')