1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #18456 -- Added path escaping to HttpRequest.get_full_path().

This commit is contained in:
Unai Zalakain
2014-10-31 17:43:34 +02:00
committed by Tim Graham
parent d3db878e4b
commit c548c8d0d1
6 changed files with 57 additions and 4 deletions

View File

@@ -5,8 +5,10 @@ import unittest
import datetime
from django.utils import six
from django.utils.encoding import (filepath_to_uri, force_bytes, force_text,
iri_to_uri, uri_to_iri)
from django.utils.encoding import (
filepath_to_uri, force_bytes, force_text, escape_uri_path,
iri_to_uri, uri_to_iri,
)
from django.utils.http import urlquote_plus
@@ -40,6 +42,14 @@ class TestEncodingUtils(unittest.TestCase):
today = datetime.date.today()
self.assertEqual(force_bytes(today, strings_only=True), today)
def test_escape_uri_path(self):
self.assertEqual(
escape_uri_path('/;some/=awful/?path/:with/@lots/&of/+awful/chars'),
'/%3Bsome/%3Dawful/%3Fpath/:with/@lots/&of/+awful/chars'
)
self.assertEqual(escape_uri_path('/foo#bar'), '/foo%23bar')
self.assertEqual(escape_uri_path('/foo?bar'), '/foo%3Fbar')
class TestRFC3987IEncodingUtils(unittest.TestCase):