Fixed CompilerFilter to always output Unicode strings

This commit is contained in:
Antti Hirvonen
2012-09-12 16:13:19 +03:00
parent b3a3419ccc
commit 47bcd9cbeb
2 changed files with 8 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ import subprocess
from django.core.exceptions import ImproperlyConfigured
from django.core.files.temp import NamedTemporaryFile
from django.utils.importlib import import_module
from django.utils.encoding import smart_unicode
from compressor.conf import settings
from compressor.exceptions import FilterError
@@ -142,4 +143,5 @@ class CompilerFilter(FilterBase):
if self.outfile is not None:
filtered = self.outfile.read()
self.outfile.close()
return filtered
return smart_unicode(filtered)

View File

@@ -67,6 +67,11 @@ class PrecompilerTestCase(TestCase):
compiler = CompilerFilter(content=self.content, filename=self.filename, command=command)
self.assertEqual(u"body { color:#990; }%s" % os.linesep, compiler.input())
def test_precompiler_output_unicode(self):
command = '%s %s' % (sys.executable, self.test_precompiler)
compiler = CompilerFilter(content=self.content, filename=self.filename, command=command)
self.assertEqual(type(compiler.input()), unicode)
class CssMinTestCase(TestCase):
def test_cssmin_filter(self):