def test_url(case, expected): result = _.url(*case['args'], **case['kargs']) r_scheme, r_netloc, r_path, r_query, r_fragment = urlsplit(result) e_scheme, e_netloc, e_path, e_query, e_fragment = urlsplit(expected) assert r_scheme == e_scheme assert r_netloc == e_netloc assert r_path == e_path assert set(parse_qsl(r_query)) == set(parse_qsl(e_query)) assert r_fragment == e_fragment
'a': [1, 2], 'b': 'two' } }, '/foo?a=1&a=2&b=two#bar/baz'), ({ 'args': ['/foo', 'baz#bar'], 'kargs': { 'a': [1, 2], 'b': 'two' } }, '/foo/baz?a=1&a=2&b=two#bar'), ]) def test_url(case, expected): result = _.url(*case['args'], **case['kargs']) r_scheme, r_netloc, r_path, r_query, r_fragment = urlsplit(result) e_scheme, e_netloc, e_path, e_query, e_fragment = urlsplit(expected) assert r_scheme == e_scheme assert r_netloc == e_netloc assert r_path == e_path assert set(parse_qsl(r_query)) == set(parse_qsl(e_query)) assert r_fragment == e_fragment @parametrize('case,expected', [ ('hello world!', ['hello', 'world']), ('hello_world', ['hello', 'world']), ('hello!@#$%^&*()_+{}|:"<>?-=[]\;\,.\'/world', ['hello', 'world']), ('hello 12345 world', ['hello', '12345', 'world']), ('enable 24h format', ['enable', '24', 'h', 'format']),