Added another test for latin-1 encoded files to be on the safe side.
This commit is contained in:
@@ -83,7 +83,8 @@ class Compressor(object):
|
||||
input = fd.read()
|
||||
if self.filters:
|
||||
input = self.filter(input, 'input', filename=v, elem=elem)
|
||||
self._hunks.append(unicode(input, elem.get('charset', django_settings.DEFAULT_CHARSET)))
|
||||
charset = elem.get('charset', django_settings.DEFAULT_CHARSET)
|
||||
self._hunks.append(unicode(input, charset))
|
||||
fd.close()
|
||||
return self._hunks
|
||||
|
||||
@@ -94,7 +95,6 @@ class Compressor(object):
|
||||
return "\n".join([hunk.encode(django_settings.DEFAULT_CHARSET) for hunk in self.hunks])
|
||||
|
||||
def filter(self, content, method, **kwargs):
|
||||
content = content
|
||||
for f in self.filters:
|
||||
filter = getattr(filters.get_class(f)(content, filter_type=self.type), method)
|
||||
try:
|
||||
|
||||
@@ -213,6 +213,16 @@ class TemplatetagTestCase(TestCase):
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/5d5c0e1cb25f.js" charset="utf-8"></script>'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_nonascii_latin1_js_tag(self):
|
||||
template = u"""{% load compress %}{% compress js %}
|
||||
<script src="{{ MEDIA_URL }}js/nonasc_latin1.js" type="text/javascript" charset="utf-8"></script>
|
||||
<script type="text/javascript" charset="utf-8">var test_value = "\u2014";</script>
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.MEDIA_URL }
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/40a8e9ffb476.js" charset="utf-8"></script>'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
class TestStorage(CompressorFileStorage):
|
||||
"""
|
||||
Test compressor storage that gzips storage files
|
||||
|
||||
1
tests/media/js/nonasc-latin1.js
Normal file
1
tests/media/js/nonasc-latin1.js
Normal file
@@ -0,0 +1 @@
|
||||
var test_value = "<22>berstr<74>ng";
|
||||
Reference in New Issue
Block a user