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