mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-04-11 10:30:58 +00:00
fix URL escaping for Django 1.8
This commit is contained in:
parent
f9185485a5
commit
470fb33b40
1 changed files with 9 additions and 1 deletions
|
|
@ -6,6 +6,14 @@ from django.core.urlresolvers import reverse
|
|||
from django.contrib.auth.models import Permission
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
|
||||
# Get the chars that Django considers safe to leave unescaped in a URL
|
||||
# This list changed in Django 1.8: https://github.com/django/django/commit/e167e96cfea670422ca75d0b35fe7c4195f25b63
|
||||
try:
|
||||
from django.utils.http import RFC3986_SUBDELIMS
|
||||
urlquote_safechars = RFC3986_SUBDELIMS + str('/~:@')
|
||||
except ImportError: # < Django 1,8
|
||||
urlquote_safechars = '/'
|
||||
|
||||
from wagtail.tests.utils import WagtailTestUtils
|
||||
from wagtail.wagtailimages.utils import generate_signature
|
||||
|
||||
|
|
@ -527,7 +535,7 @@ class TestGenerateURLView(TestCase, WagtailTestUtils):
|
|||
self.assertEqual(set(content_json.keys()), set(['url', 'preview_url']))
|
||||
|
||||
expected_url = 'http://localhost/images/%(signature)s/%(image_id)d/fill-800x600/' % {
|
||||
'signature': urlquote(generate_signature(self.image.id, 'fill-800x600').decode()),
|
||||
'signature': urlquote(generate_signature(self.image.id, 'fill-800x600').decode(), safe=urlquote_safechars),
|
||||
'image_id': self.image.id,
|
||||
}
|
||||
self.assertEqual(content_json['url'], expected_url)
|
||||
|
|
|
|||
Loading…
Reference in a new issue