%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
# -*- coding: utf-8 -*- from __future__ import unicode_literals from .. import _url from .common import HyperlinkTestCase from .._url import register_scheme, URL class TestSchemeRegistration(HyperlinkTestCase): def setUp(self): self._orig_scheme_port_map = dict(_url.SCHEME_PORT_MAP) self._orig_no_netloc_schemes = set(_url.NO_NETLOC_SCHEMES) def tearDown(self): _url.SCHEME_PORT_MAP = self._orig_scheme_port_map _url.NO_NETLOC_SCHEMES = self._orig_no_netloc_schemes def test_register_scheme_basic(self): register_scheme('deltron', uses_netloc=True, default_port=3030) u1 = URL.from_text('deltron://example.com') assert u1.scheme == 'deltron' assert u1.port == 3030 assert u1.uses_netloc is True # test netloc works even when the original gives no indication u2 = URL.from_text('deltron:') u2 = u2.replace(host='example.com') assert u2.to_text() == 'deltron://example.com' # test default port means no emission u3 = URL.from_text('deltron://example.com:3030') assert u3.to_text() == 'deltron://example.com' register_scheme('nonetron', default_port=3031) u4 = URL(scheme='nonetron') u4 = u4.replace(host='example.com') assert u4.to_text() == 'nonetron://example.com' def test_register_no_netloc_scheme(self): register_scheme('noloctron', uses_netloc=False) u4 = URL(scheme='noloctron') u4 = u4.replace(path=("example", "path")) assert u4.to_text() == 'noloctron:example/path' def test_register_no_netloc_with_port(self): with self.assertRaises(ValueError): register_scheme('badnetlocless', uses_netloc=False, default_port=7) def test_invalid_uses_netloc(self): with self.assertRaises(ValueError): register_scheme('badnetloc', uses_netloc=None) with self.assertRaises(ValueError): register_scheme('badnetloc', uses_netloc=object()) def test_register_invalid_uses_netloc(self): with self.assertRaises(ValueError): register_scheme('lol', uses_netloc=lambda: 'nope') def test_register_invalid_port(self): with self.assertRaises(ValueError): register_scheme('nope', default_port=lambda: 'lol')