diff --git a/compressor/__init__.py b/compressor/__init__.py index 6375727..6bc3ba0 100644 --- a/compressor/__init__.py +++ b/compressor/__init__.py @@ -80,7 +80,9 @@ class Compressor(object): return self._hunks def concat(self): - return "\n".join(self.hunks) + # if any of the hunks are unicode, all of them will be coerced + # this breaks any hunks with non-ASCII data in them + return "\n".join([str(hunk) for hunk in self.hunks]) def filter(self, content, method, **kwargs): content = content diff --git a/compressor/filters/css_default.py b/compressor/filters/css_default.py index 46f27c3..1337cef 100644 --- a/compressor/filters/css_default.py +++ b/compressor/filters/css_default.py @@ -38,4 +38,4 @@ class CssMediaFilter(FilterBase): self.media = elem['media'] except (TypeError, KeyError): return self.content - return "@media %s {%s}" % (self.media, self.content) + return "@media %s {%s}" % (str(self.media), self.content) diff --git a/tests/core/tests.py b/tests/core/tests.py index 482bfb1..30d7132 100644 --- a/tests/core/tests.py +++ b/tests/core/tests.py @@ -136,7 +136,6 @@ class CssMediaTestCase(TestCase): out = u'@media screen {body { background:#990; }}\n@media print {p { border:5px solid green;}}\n@media all {body { color:#fff; }}' self.assertEqual(out, self.cssNode.combined) - class TemplatetagTestCase(TestCase): def setUp(self): settings.COMPRESS = True @@ -163,11 +162,12 @@ class TemplatetagTestCase(TestCase): def test_nonascii_css_tag(self): template = u"""{% load compress %}{% compress css %} - + + {% endcompress %} """ context = { 'MEDIA_URL': settings.MEDIA_URL } - out = '' + out = '' self.assertEqual(out, self.render(template, context)) def test_js_tag(self): diff --git a/tests/media/css/nonasc.css b/tests/media/css/nonasc.css index 2afa456..43159ab 100644 --- a/tests/media/css/nonasc.css +++ b/tests/media/css/nonasc.css @@ -1,2 +1 @@ -p { background: url( '../../images/test.png' ); } .byline:before { content: " — "; } \ No newline at end of file diff --git a/tests/media/css/url/nonasc.css b/tests/media/css/url/nonasc.css new file mode 100644 index 0000000..2afa456 --- /dev/null +++ b/tests/media/css/url/nonasc.css @@ -0,0 +1,2 @@ +p { background: url( '../../images/test.png' ); } +.byline:before { content: " — "; } \ No newline at end of file