示例#1
0
def _check_query(path, result=None, **query):
    paramed = helpers.urlparams(path, **query)
    if result is None:
        result = query
    for k, v in result.items():
        if not isinstance(v, list):
            result[k] = [v]
    qs = cgi.parse_qs(paramed.split('?')[1])
    for k in query:
        eq_(set(result[k]), set(qs[k]))
示例#2
0
def test_urlparams_fragment():
    eq_(u'/#foo', helpers.urlparams('/', fragment='foo'))
    eq_(u'/#bar', helpers.urlparams('/#foo', fragment='bar'))
    eq_(u'/', helpers.urlparams('/#foo', fragment=''))
示例#3
0
def test_urlparams_none():
    """A value of None doesn't make it into the query string."""
    eq_(u'/foo', helpers.urlparams('/foo', bar=None))
    eq_(u'/foo', helpers.urlparams('/foo?a=bar', a=None))
示例#4
0
def test_urlparams_multivalue():
    _check_query('/foo?a=foo&a=bar', result={'a': ['foo', 'bar']})
    _check_query('/foo', a=['foo', 'bar'])
    eq_(u'/foo?a=bar', helpers.urlparams('/foo?a=foo', a='bar'))
示例#5
0
def test_urlparams_unicode():
    context = {'q': u'Fran\xe7ais'}
    eq_(u'/foo?q=Fran%C3%A7ais', helpers.urlparams('/foo', **context))
    context['q'] = u'\u0125help'
    eq_(u'/foo?q=%C4%A5help', helpers.urlparams('/foo', **context))
示例#6
0
def test_urlparams_fragment():
    eq_("/#foo", helpers.urlparams("/", fragment="foo"))
    eq_("/#bar", helpers.urlparams("/#foo", fragment="bar"))
    eq_("/", helpers.urlparams("/#foo", fragment=""))
示例#7
0
def test_urlparams_multivalue():
    _check_query("/foo?a=foo&a=bar", result={"a": ["foo", "bar"]})
    _check_query("/foo", a=["foo", "bar"])
    eq_("/foo?a=bar", helpers.urlparams("/foo?a=foo", a="bar"))
示例#8
0
def test_urlparams_unicode():
    context = {"q": "Fran\xe7ais"}
    eq_("/foo?q=Fran%C3%A7ais", helpers.urlparams("/foo", **context))
    context["q"] = "\u0125help"
    eq_("/foo?q=%C4%A5help", helpers.urlparams("/foo", **context))