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