Make sure that a custom OUTPUT_DIR setting doesn't raise a SuspiciousOperation.
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -95,6 +95,18 @@ class CompressorTestCase(TestCase):
|
||||
output = u'<script type="text/javascript" src="/media/CACHE/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, self.jsNode.output())
|
||||
|
||||
def test_custom_output_dir(self):
|
||||
old_output_dir = settings.OUTPUT_DIR
|
||||
settings.OUTPUT_DIR = 'custom'
|
||||
output = u'<script type="text/javascript" src="/media/custom/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
settings.OUTPUT_DIR = ''
|
||||
output = u'<script type="text/javascript" src="/media/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
settings.OUTPUT_DIR = '/custom/nested/'
|
||||
output = u'<script type="text/javascript" src="/media/custom/nested/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
settings.OUTPUT_DIR = old_output_dir
|
||||
|
||||
class CssAbsolutizingTestCase(TestCase):
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user