Added another test for latin-1 encoded files to be on the safe side.

This commit is contained in:
Jannis Leidel
2010-02-24 16:09:19 +01:00
parent c37dd37718
commit 762a549e74
3 changed files with 13 additions and 2 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -0,0 +1 @@
var test_value = "<22>berstr<74>ng";