diff options
| author | Tom Christie | 2013-12-23 11:55:25 +0000 | 
|---|---|---|
| committer | Tom Christie | 2013-12-23 11:55:25 +0000 | 
| commit | 3f5e3c28f5a4f8b12f5f3ae6c7b571d08be2bf7e (patch) | |
| tree | e438aa3057908af677e2a8ac966634fb71b767fb /rest_framework | |
| parent | 9d281e187a296df168c429bb5753150eaedfa487 (diff) | |
| download | django-rest-framework-3f5e3c28f5a4f8b12f5f3ae6c7b571d08be2bf7e.tar.bz2 | |
Updated tests to pass in python 3
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/templatetags/rest_framework.py | 5 | ||||
| -rw-r--r-- | rest_framework/tests/test_templatetags.py | 11 | 
2 files changed, 10 insertions, 6 deletions
diff --git a/rest_framework/templatetags/rest_framework.py b/rest_framework/templatetags/rest_framework.py index 5c267ab3..83c046f9 100644 --- a/rest_framework/templatetags/rest_framework.py +++ b/rest_framework/templatetags/rest_framework.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals, absolute_import  from django import template  from django.core.urlresolvers import reverse, NoReverseMatch  from django.http import QueryDict +from django.utils.encoding import iri_to_uri  from django.utils.html import escape  from django.utils.safestring import SafeData, mark_safe  from rest_framework.compat import urlparse, force_text, six, smart_urlquote @@ -144,7 +145,9 @@ def add_query_param(request, key, val):      """      Add a query parameter to the current request url, and return the new url.      """ -    return replace_query_param(request.build_absolute_uri(), key, val) +    iri = request.get_full_path() +    uri = iri_to_uri(iri) +    return replace_query_param(uri, key, val)  @register.filter diff --git a/rest_framework/tests/test_templatetags.py b/rest_framework/tests/test_templatetags.py index cbac768a..7ac90ae6 100644 --- a/rest_framework/tests/test_templatetags.py +++ b/rest_framework/tests/test_templatetags.py @@ -10,9 +10,10 @@ factory = APIRequestFactory()  class TemplateTagTests(TestCase):      def test_add_query_param_with_non_latin_charactor(self): -        request = factory.get("/?q=查询") +        # Ensure we don't double-escape non-latin characters +        # that are present in the querystring. +        # https://github.com/tomchristie/django-rest-framework/pull/1314 +        request = factory.get("/", {'q': '查询'})          json_url = add_query_param(request, "format", "json") -        self.assertIn(json_url, [ -            "http://testserver/?format=json&q=%E6%9F%A5%E8%AF%A2", -            "http://testserver/?q=%E6%9F%A5%E8%AF%A2&format=json", -        ]) +        self.assertIn("q=%E6%9F%A5%E8%AF%A2", json_url) +        self.assertIn("format=json")  | 
