Example #1
0
 def test_join_segments_encodes_non_ascii_and_special_characters_including_slash(self):
     assert URLPath.join_segments(('a b', u('d/\N{LATIN SMALL LETTER E WITH ACUTE}'))) == '/a%20b/d%2F%C3%A9'
Example #2
0
 def test_add_encodes_non_ascii_and_reserved_characters(self):
     assert URLPath('/a/b/c').add(u('d /\N{LATIN SMALL LETTER E WITH ACUTE}')) == '/a/b/c/d%20/%C3%A9'
Example #3
0
 def test_list_correctly_decodes_utf_8(self):
     assert QueryString('foo=%EF%BF%BD').list == [('foo', u('\ufffd'))]
Example #4
0
 def test_add_param_encodes_utf8(self):
     s = QueryString('abc=123')
     assert s.add_param('foo', u('\ufffd')) == 'abc=123&foo=%EF%BF%BD'
Example #5
0
 def test_quoted_iri(self):
     """
     If an IRI already has some quoted characters, they will be maintained as is.
     """
     assert (URL.from_iri(u('https://example.com/foo%20b\xe5r/')) ==
             'https://example.com/foo%20b%C3%A5r/')
Example #6
0
 def test_quote_other_special_characters(self):
     assert (URL.from_iri(u('https://example.com/foo bar/')) ==
             'https://example.com/foo%20bar/')
Example #7
0
 def test_encode_fragment(self):
     assert (URL.from_iri(u('https://example.com/#fr\xe5gment')) ==
             'https://example.com/#fr%C3%A5gment')
Example #8
0
 def test_path_params(self):
     assert (URL.from_iri(u('https://example.com/foo;p\xe5rameter')) ==
             'https://example.com/foo;p%C3%A5rameter')
Example #9
0
 def test_encode_query(self):
     assert (URL.from_iri(u('https://example.com/?k\xe9y=v\xe5l&key2=val2')) ==
             'https://example.com/?k%C3%A9y=v%C3%A5l&key2=val2')
Example #10
0
 def test_encode_path(self):
     assert (URL.from_iri(u('https://example.com/p\xe5th/path2')) ==
             'https://example.com/p%C3%A5th/path2')
Example #11
0
 def test_port_maintained(self):
     assert (URL.from_iri(u('https://\xe9xample.com:80/')) ==
             'https://xn--xample-9ua.com:80/')
Example #12
0
 def test_encode_hostname_idna(self):
     assert (URL.from_iri(u('https://\xe9xample.com/')) ==
             'https://xn--xample-9ua.com/')
Example #13
0
 def setUp(self):
     self.url_string = u("https://github.com/zacharyvoase/urlblocks?spam=eggs#foo")