Warning:
Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.
Ticket #1456: url_multi_value_fixed2.patch
| File url_multi_value_fixed2.patch,
1.9 KB
(added by Chris Arndt, 4 years ago) |
|
|
-
|
|
|
|
| 513 | 513 | else: |
| 514 | 514 | pairs = [(key, value)] |
| 515 | 515 | for (k,v) in pairs: |
| 516 | | if isinstance(value, unicode): |
| 517 | | value = value.encode("utf8") |
| | 516 | if v is None: |
| | 517 | continue |
| | 518 | if isinstance(v, unicode): |
| | 519 | v = v.encode("utf8") |
| 518 | 520 | args.append("%s=%s" % (k, urllib.quote(str(v)))) |
| 519 | 521 | if args: |
| 520 | 522 | result += "?" + "&".join(args) |
-
|
|
|
|
| 584 | 584 | assert url("/foo", bar=("asdf","qwer")) in \ |
| 585 | 585 | ["/foo?bar=qwer&bar=asdf", "/foo?bar=asdf&bar=qwer"] |
| 586 | 586 | |
| | 587 | def test_unicode(self): |
| | 588 | """url() can handle unicode parameters""" |
| | 589 | testutil.create_request("/") |
| | 590 | assert url('/', x=u'\N{LATIN SMALL LETTER A WITH GRAVE}' |
| | 591 | u'\N{LATIN SMALL LETTER E WITH GRAVE}' |
| | 592 | u'\N{LATIN SMALL LETTER I WITH GRAVE}' |
| | 593 | u'\N{LATIN SMALL LETTER O WITH GRAVE}' |
| | 594 | u'\N{LATIN SMALL LETTER U WITH GRAVE}') \ |
| | 595 | == '/?x=%C3%A0%C3%A8%C3%AC%C3%B2%C3%B9' |
| | 596 | |
| | 597 | def test_list(self): |
| | 598 | """url can handle list parameters, with unicode too""" |
| | 599 | testutil.create_request("/") |
| | 600 | assert url('/', foo=['bar', u'\N{LATIN SMALL LETTER A WITH GRAVE}']) \ |
| | 601 | == '/?foo=bar&foo=%C3%A0' |
| | 602 | |
| 587 | 603 | def tearDown(self): |
| 588 | 604 | turbogears.config.update({"server.webpath" : ""}) |
| 589 | 605 | turbogears.startup.startTurboGears() |
| 590 | 606 | |
| | 607 | |
| 591 | 608 | def test_index_trailing_slash(): |
| 592 | 609 | "If there is no trailing slash on an index method call, redirect" |
| 593 | 610 | cherrypy.root = SubApp() |
Download in other formats: