Esempio n. 1
0
def test_add_uri_parameters():
    def the_test(uri):
        """Add params to uri, and check results"""
        params = {"q": "Q2", "r": "R"}
        uri_split = urisplit(uri)
        got = add_uri_params(uri, params)
        got_split = urisplit(got)

        eq_(uri_split[0], got_split[0])  # URI scheme
        eq_(uri_split[1], got_split[1])  # netloc
        eq_(uri_split[2], got_split[2])  # path
        eq_(uri_split[4], got_split[4])  # fragment-id

        if uri_split[3] is None:
            assert got_split[3] in ("q=Q2&r=R", "r=R&q=Q2"), got_split[3]
        else:
            assert got_split[3].startswith(uri_split[3]), got_split[3]
            remain = got_split[3][len(uri_split[3]) :]
            assert remain in ("&q=Q2&r=R", "&r=R&q=Q2"), got_split[3]

    the_test("http://a.b/c/d")
    the_test("http://a.b/c/d?")
    the_test("http://a.b/c/d#")
    the_test("http://a.b/c/d?#")
    the_test("http://a.b/c/d?p=P&q=Q")
    the_test("http://a.b/c/d#f")
    the_test("http://a.b/c/d?p=P&q=Q#")
    the_test("http://a.b/c/d?#f")
    the_test("http://a.b/c/d?q#f")

    uri = add_uri_params("http://a.b/c/d", {"hé": "hé hé"})
    assert uri.endswith("?h%C3%A9=h%C3%A9+h%C3%A9"), uri

    uri = add_uri_params("http://a.b/c/d", {"p": ["v1", "v2"]})
    assert uri[14:] in ("?p=v1&p=v2", "?p=v2&p=v1"), uri
Esempio n. 2
0
def test_add_uri_parameters():
    def the_test(uri):
        """Add params to uri, and check results"""
        params = { "q": "Q2", "r": "R" }
        uri_split = urisplit(uri)
        got = add_uri_params(uri, params)
        got_split = urisplit(got)

        assert uri_split[0] == got_split[0] # URI scheme
        assert uri_split[1] == got_split[1] # netloc
        assert uri_split[2] == got_split[2] # path
        assert uri_split[4] == got_split[4] # fragment-id

        if uri_split[3] is None:
            assert got_split[3] in ("q=Q2&r=R", "r=R&q=Q2"), got_split[3]
        else:
            assert got_split[3].startswith(uri_split[3]), got_split[3]
            remain = got_split[3][len(uri_split[3]):]
            assert remain in ("&q=Q2&r=R", "&r=R&q=Q2"), got_split[3]

    the_test('http://a.b/c/d')
    the_test('http://a.b/c/d?')
    the_test('http://a.b/c/d#')
    the_test('http://a.b/c/d?#')
    the_test('http://a.b/c/d?p=P&q=Q')
    the_test('http://a.b/c/d#f')
    the_test('http://a.b/c/d?p=P&q=Q#')
    the_test('http://a.b/c/d?#f')
    the_test('http://a.b/c/d?q#f')

    uri = add_uri_params("http://a.b/c/d", { "hé": "hé hé" })
    assert uri.endswith("?h%C3%A9=h%C3%A9+h%C3%A9"), uri

    uri = add_uri_params("http://a.b/c/d", { "p": [ "v1", "v2" ] })
    assert uri[14:] in ("?p=v1&p=v2", "?p=v2&p=v1"), uri
Esempio n. 3
0
    def the_test(uri):
        """Add params to uri, and check results"""
        params = {"q": "Q2", "r": "R"}
        uri_split = urisplit(uri)
        got = add_uri_params(uri, params)
        got_split = urisplit(got)

        eq_(uri_split[0], got_split[0])  # URI scheme
        eq_(uri_split[1], got_split[1])  # netloc
        eq_(uri_split[2], got_split[2])  # path
        eq_(uri_split[4], got_split[4])  # fragment-id

        if uri_split[3] is None:
            assert got_split[3] in ("q=Q2&r=R", "r=R&q=Q2"), got_split[3]
        else:
            assert got_split[3].startswith(uri_split[3]), got_split[3]
            remain = got_split[3][len(uri_split[3]) :]
            assert remain in ("&q=Q2&r=R", "&r=R&q=Q2"), got_split[3]
Esempio n. 4
0
    def the_test(uri):
        """Add params to uri, and check results"""
        params = { "q": "Q2", "r": "R" }
        uri_split = urisplit(uri)
        got = add_uri_params(uri, params)
        got_split = urisplit(got)

        assert uri_split[0] == got_split[0] # URI scheme
        assert uri_split[1] == got_split[1] # netloc
        assert uri_split[2] == got_split[2] # path
        assert uri_split[4] == got_split[4] # fragment-id

        if uri_split[3] is None:
            assert got_split[3] in ("q=Q2&r=R", "r=R&q=Q2"), got_split[3]
        else:
            assert got_split[3].startswith(uri_split[3]), got_split[3]
            remain = got_split[3][len(uri_split[3]):]
            assert remain in ("&q=Q2&r=R", "&r=R&q=Q2"), got_split[3]