diff --git a/compressor/__init__.py b/compressor/__init__.py
index ecda6ad..d41ddbd 100644
--- a/compressor/__init__.py
+++ b/compressor/__init__.py
@@ -120,7 +120,8 @@ class Compressor(object):
@property
def new_filepath(self):
filename = "".join([self.hash, self.extension])
- return "/".join((settings.OUTPUT_DIR.strip('/'), self.output_prefix, filename))
+ return os.path.join(
+ settings.OUTPUT_DIR.strip(os.sep), self.output_prefix, filename)
def save_file(self):
if self.storage.exists(self.new_filepath):
diff --git a/tests/core/tests.py b/tests/core/tests.py
index 3f427e0..f7f421b 100644
--- a/tests/core/tests.py
+++ b/tests/core/tests.py
@@ -95,6 +95,18 @@ class CompressorTestCase(TestCase):
output = u''
self.assertEqual(output, self.jsNode.output())
+ def test_custom_output_dir(self):
+ old_output_dir = settings.OUTPUT_DIR
+ settings.OUTPUT_DIR = 'custom'
+ output = u''
+ self.assertEqual(output, JsCompressor(self.js).output())
+ settings.OUTPUT_DIR = ''
+ output = u''
+ self.assertEqual(output, JsCompressor(self.js).output())
+ settings.OUTPUT_DIR = '/custom/nested/'
+ output = u''
+ self.assertEqual(output, JsCompressor(self.js).output())
+ settings.OUTPUT_DIR = old_output_dir
class CssAbsolutizingTestCase(TestCase):
def setUp(self):