Merge pull request #657 from karyon/remove_silent_exception_catching
remove silent exception catching
This commit is contained in:
@@ -103,19 +103,11 @@ class CompressorMixin(object):
|
|||||||
if cache_content is not None:
|
if cache_content is not None:
|
||||||
return cache_content
|
return cache_content
|
||||||
|
|
||||||
# call compressor output method and handle exceptions
|
|
||||||
try:
|
|
||||||
rendered_output = self.render_output(compressor, mode, forced=forced)
|
rendered_output = self.render_output(compressor, mode, forced=forced)
|
||||||
|
assert isinstance(rendered_output, six.string_types)
|
||||||
if cache_key:
|
if cache_key:
|
||||||
cache_set(cache_key, rendered_output)
|
cache_set(cache_key, rendered_output)
|
||||||
assert isinstance(rendered_output, six.string_types)
|
|
||||||
return rendered_output
|
return rendered_output
|
||||||
except Exception:
|
|
||||||
if settings.DEBUG or forced:
|
|
||||||
raise
|
|
||||||
|
|
||||||
# Or don't do anything in production
|
|
||||||
return self.get_original_content(context)
|
|
||||||
|
|
||||||
def render_output(self, compressor, mode, forced=False):
|
def render_output(self, compressor, mode, forced=False):
|
||||||
return compressor.output(mode, forced=forced)
|
return compressor.output(mode, forced=forced)
|
||||||
|
@@ -128,8 +128,8 @@ class CompressorTestCase(SimpleTestCase):
|
|||||||
self.assertTrue(is_date.match(str(float(date))),
|
self.assertTrue(is_date.match(str(float(date))),
|
||||||
"mtimes is returning something that doesn't look like a date: %s" % date)
|
"mtimes is returning something that doesn't look like a date: %s" % date)
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_ENABLED=False)
|
||||||
def test_css_return_if_off(self):
|
def test_css_return_if_off(self):
|
||||||
settings.COMPRESS_ENABLED = False
|
|
||||||
self.assertEqualCollapsed(self.css, self.css_node.output())
|
self.assertEqualCollapsed(self.css, self.css_node.output())
|
||||||
|
|
||||||
def test_cachekey(self):
|
def test_cachekey(self):
|
||||||
|
@@ -47,6 +47,7 @@ class CssTidyTestCase(TestCase):
|
|||||||
"font,th,td,p{color:#000;}", CSSTidyFilter(content).input())
|
"font,th,td,p{color:#000;}", CSSTidyFilter(content).input())
|
||||||
|
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_CACHEABLE_PRECOMPILERS=('text/css',))
|
||||||
class PrecompilerTestCase(TestCase):
|
class PrecompilerTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.test_precompiler = os.path.join(test_dir, 'precompiler.py')
|
self.test_precompiler = os.path.join(test_dir, 'precompiler.py')
|
||||||
@@ -54,7 +55,6 @@ class PrecompilerTestCase(TestCase):
|
|||||||
self.cached_precompiler_args = dict(
|
self.cached_precompiler_args = dict(
|
||||||
content=self.content, charset=settings.FILE_CHARSET,
|
content=self.content, charset=settings.FILE_CHARSET,
|
||||||
filename=self.filename, mimetype='text/css')
|
filename=self.filename, mimetype='text/css')
|
||||||
settings.COMPRESS_CACHEABLE_PRECOMPILERS = ('text/css',)
|
|
||||||
|
|
||||||
def setup_infile(self, filename='static/css/one.css'):
|
def setup_infile(self, filename='static/css/one.css'):
|
||||||
self.filename = os.path.join(test_dir, filename)
|
self.filename = os.path.join(test_dir, filename)
|
||||||
@@ -197,6 +197,10 @@ class JsMinTestCase(TestCase):
|
|||||||
self.assertEqual(output, JSMinFilter(content).output())
|
self.assertEqual(output, JSMinFilter(content).output())
|
||||||
|
|
||||||
|
|
||||||
|
@override_settings(
|
||||||
|
COMPRESS_ENABLED=True,
|
||||||
|
COMPRESS_URL='/static/',
|
||||||
|
)
|
||||||
class CssAbsolutizingTestCase(TestCase):
|
class CssAbsolutizingTestCase(TestCase):
|
||||||
hashing_method = 'mtime'
|
hashing_method = 'mtime'
|
||||||
hashing_func = staticmethod(get_hashed_mtime)
|
hashing_func = staticmethod(get_hashed_mtime)
|
||||||
@@ -204,11 +208,7 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
"p { filter: Alpha(src='%(url)simg/python.png%(query)s%(hash)s%(frag)s') }")
|
"p { filter: Alpha(src='%(url)simg/python.png%(query)s%(hash)s%(frag)s') }")
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.old_enabled = settings.COMPRESS_ENABLED
|
|
||||||
self.old_url = settings.COMPRESS_URL
|
|
||||||
self.old_hashing_method = settings.COMPRESS_CSS_HASHING_METHOD
|
self.old_hashing_method = settings.COMPRESS_CSS_HASHING_METHOD
|
||||||
settings.COMPRESS_ENABLED = True
|
|
||||||
settings.COMPRESS_URL = '/static/'
|
|
||||||
settings.COMPRESS_CSS_HASHING_METHOD = self.hashing_method
|
settings.COMPRESS_CSS_HASHING_METHOD = self.hashing_method
|
||||||
self.css = """
|
self.css = """
|
||||||
<link rel="stylesheet" href="/static/css/url/url1.css" type="text/css">
|
<link rel="stylesheet" href="/static/css/url/url1.css" type="text/css">
|
||||||
@@ -217,12 +217,10 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
self.css_node = CssCompressor(self.css)
|
self.css_node = CssCompressor(self.css)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
settings.COMPRESS_ENABLED = self.old_enabled
|
|
||||||
settings.COMPRESS_URL = self.old_url
|
|
||||||
settings.COMPRESS_CSS_HASHING_METHOD = self.old_hashing_method
|
settings.COMPRESS_CSS_HASHING_METHOD = self.old_hashing_method
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_CSS_HASHING_METHOD=None)
|
||||||
def test_css_no_hash(self):
|
def test_css_no_hash(self):
|
||||||
settings.COMPRESS_CSS_HASHING_METHOD = None
|
|
||||||
filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
|
filename = os.path.join(settings.COMPRESS_ROOT, 'css/url/test.css')
|
||||||
content = self.template % blankdict(url='../../')
|
content = self.template % blankdict(url='../../')
|
||||||
params = blankdict({
|
params = blankdict({
|
||||||
@@ -232,7 +230,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'http://static.example.com/'
|
with self.settings(COMPRESS_URL='http://static.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -249,7 +248,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'http://static.example.com/'
|
with self.settings(COMPRESS_URL='http://static.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -267,7 +267,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'http://media.example.com/'
|
with self.settings(COMPRESS_URL='http://media.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -278,7 +279,7 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = 'http://media.example.com/'
|
with self.settings(COMPRESS_URL='http://media.example.com/'):
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(content, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
@@ -295,7 +296,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'http://media.example.com/'
|
with self.settings(COMPRESS_URL='http://media.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -312,7 +314,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'https://static.example.com/'
|
with self.settings(COMPRESS_URL='https://static.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -329,7 +332,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
|
|
||||||
settings.COMPRESS_URL = params['url'] = 'https://static.example.com/'
|
with self.settings(COMPRESS_URL='https://static.example.com/'):
|
||||||
|
params['url'] = settings.COMPRESS_URL
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='css/url/test.css'))
|
||||||
@@ -343,7 +347,8 @@ class CssAbsolutizingTestCase(TestCase):
|
|||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))
|
self.assertEqual(output, filter.input(filename=filename, basename='bar/baz/test.css'))
|
||||||
settings.COMPRESS_URL = 'https://static.example.com/'
|
|
||||||
|
with self.settings(COMPRESS_URL='https://static.example.com/'):
|
||||||
params['url'] = settings.COMPRESS_URL + 'bar/qux/'
|
params['url'] = settings.COMPRESS_URL + 'bar/qux/'
|
||||||
output = self.template % params
|
output = self.template % params
|
||||||
filter = CssAbsoluteFilter(content)
|
filter = CssAbsoluteFilter(content)
|
||||||
@@ -371,7 +376,7 @@ p { filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/static/img/
|
|||||||
|
|
||||||
def test_guess_filename(self):
|
def test_guess_filename(self):
|
||||||
for base_url in ('/static/', 'http://static.example.com/'):
|
for base_url in ('/static/', 'http://static.example.com/'):
|
||||||
settings.COMPRESS_URL = base_url
|
with self.settings(COMPRESS_URL=base_url):
|
||||||
url = '%s/img/python.png' % settings.COMPRESS_URL.rstrip('/')
|
url = '%s/img/python.png' % settings.COMPRESS_URL.rstrip('/')
|
||||||
path = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
|
path = os.path.join(settings.COMPRESS_ROOT, 'img/python.png')
|
||||||
content = "p { background: url('%s') }" % url
|
content = "p { background: url('%s') }" % url
|
||||||
@@ -384,15 +389,17 @@ class CssAbsolutizingTestCaseWithHash(CssAbsolutizingTestCase):
|
|||||||
hashing_func = staticmethod(get_hashed_content)
|
hashing_func = staticmethod(get_hashed_content)
|
||||||
|
|
||||||
|
|
||||||
class CssDataUriTestCase(TestCase):
|
@override_settings(
|
||||||
def setUp(self):
|
COMPRESS_ENABLED=True,
|
||||||
settings.COMPRESS_ENABLED = True
|
COMPRESS_CSS_FILTERS=[
|
||||||
settings.COMPRESS_CSS_FILTERS = [
|
|
||||||
'compressor.filters.css_default.CssAbsoluteFilter',
|
'compressor.filters.css_default.CssAbsoluteFilter',
|
||||||
'compressor.filters.datauri.CssDataUriFilter',
|
'compressor.filters.datauri.CssDataUriFilter',
|
||||||
]
|
],
|
||||||
settings.COMPRESS_URL = '/static/'
|
COMPRESS_URL='/static/',
|
||||||
settings.COMPRESS_CSS_HASHING_METHOD = 'mtime'
|
COMPRESS_CSS_HASHING_METHOD='mtime'
|
||||||
|
)
|
||||||
|
class CssDataUriTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
self.css = """
|
self.css = """
|
||||||
<link rel="stylesheet" href="/static/css/datauri.css" type="text/css">
|
<link rel="stylesheet" href="/static/css/datauri.css" type="text/css">
|
||||||
"""
|
"""
|
||||||
|
@@ -11,7 +11,7 @@ from compressor.conf import settings
|
|||||||
from compressor.tests.test_base import css_tag
|
from compressor.tests.test_base import css_tag
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipUnless(not six.PY3 or sys.version_info[:2] >= (3, 3),
|
@unittest.skipIf(six.PY3 and sys.version_info[:2] < (3, 3),
|
||||||
'Jinja can only run on Python < 3 and >= 3.3')
|
'Jinja can only run on Python < 3 and >= 3.3')
|
||||||
class TestJinja2CompressorExtension(TestCase):
|
class TestJinja2CompressorExtension(TestCase):
|
||||||
"""
|
"""
|
||||||
@@ -143,13 +143,11 @@ class TestJinja2CompressorExtension(TestCase):
|
|||||||
self.assertEqual(out, template.render(context))
|
self.assertEqual(out, template.render(context))
|
||||||
|
|
||||||
def test_nonascii_inline_css(self):
|
def test_nonascii_inline_css(self):
|
||||||
org_COMPRESS_ENABLED = settings.COMPRESS_ENABLED
|
with self.settings(COMPRESS_ENABLED=False):
|
||||||
settings.COMPRESS_ENABLED = False
|
|
||||||
template = self.env.from_string('{% compress css %}'
|
template = self.env.from_string('{% compress css %}'
|
||||||
'<style type="text/css">'
|
'<style type="text/css">'
|
||||||
'/* русский текст */'
|
'/* русский текст */'
|
||||||
'</style>{% endcompress %}')
|
'</style>{% endcompress %}')
|
||||||
out = '<link rel="stylesheet" href="/static/CACHE/css/b2cec0f8cb24.css" type="text/css" />'
|
out = '<link rel="stylesheet" href="/static/CACHE/css/b2cec0f8cb24.css" type="text/css" />'
|
||||||
settings.COMPRESS_ENABLED = org_COMPRESS_ENABLED
|
|
||||||
context = {'STATIC_URL': settings.COMPRESS_URL}
|
context = {'STATIC_URL': settings.COMPRESS_URL}
|
||||||
self.assertEqual(out, template.render(context))
|
self.assertEqual(out, template.render(context))
|
||||||
|
@@ -217,7 +217,7 @@ class OfflineGenerationConditionTestCase(OfflineTestCaseMixin, TestCase):
|
|||||||
super(OfflineGenerationConditionTestCase, self).setUp()
|
super(OfflineGenerationConditionTestCase, self).setUp()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
settings.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
||||||
super(OfflineGenerationConditionTestCase, self).tearDown()
|
super(OfflineGenerationConditionTestCase, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
@@ -406,7 +406,7 @@ class OfflineGenerationInlineNonAsciiTestCase(OfflineTestCaseMixin, TestCase):
|
|||||||
super(OfflineGenerationInlineNonAsciiTestCase, self).setUp()
|
super(OfflineGenerationInlineNonAsciiTestCase, self).setUp()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
settings.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
||||||
super(OfflineGenerationInlineNonAsciiTestCase, self).tearDown()
|
super(OfflineGenerationInlineNonAsciiTestCase, self).tearDown()
|
||||||
|
|
||||||
def _test_offline(self, engine):
|
def _test_offline(self, engine):
|
||||||
@@ -429,7 +429,7 @@ class OfflineGenerationComplexTestCase(OfflineTestCaseMixin, TestCase):
|
|||||||
super(OfflineGenerationComplexTestCase, self).setUp()
|
super(OfflineGenerationComplexTestCase, self).setUp()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
settings.COMPRESS_OFFLINE_CONTEXT = self.old_offline_context
|
||||||
super(OfflineGenerationComplexTestCase, self).tearDown()
|
super(OfflineGenerationComplexTestCase, self).tearDown()
|
||||||
|
|
||||||
def _test_offline(self, engine):
|
def _test_offline(self, engine):
|
||||||
|
@@ -101,8 +101,8 @@ class Html5LibParserTests(ParserTestCase, CompressorTestCase):
|
|||||||
split[1][3].attrib,
|
split[1][3].attrib,
|
||||||
split[1][3].text))
|
split[1][3].text))
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_ENABLED=False)
|
||||||
def test_css_return_if_off(self):
|
def test_css_return_if_off(self):
|
||||||
settings.COMPRESS_ENABLED = False
|
|
||||||
# Yes, they are semantically equal but attributes might be
|
# Yes, they are semantically equal but attributes might be
|
||||||
# scrambled in unpredictable order. A more elaborate check
|
# scrambled in unpredictable order. A more elaborate check
|
||||||
# would require parsing both arguments with a different parser
|
# would require parsing both arguments with a different parser
|
||||||
|
@@ -1,18 +1,20 @@
|
|||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
from django.test.utils import override_settings
|
||||||
|
|
||||||
from mock import Mock
|
from mock import Mock
|
||||||
|
|
||||||
from compressor.conf import settings
|
|
||||||
from compressor.css import CssCompressor
|
from compressor.css import CssCompressor
|
||||||
from compressor.js import JsCompressor
|
from compressor.js import JsCompressor
|
||||||
from compressor.signals import post_compress
|
from compressor.signals import post_compress
|
||||||
|
|
||||||
|
|
||||||
|
@override_settings(
|
||||||
|
COMPRESS_ENABLED=True,
|
||||||
|
COMPRESS_PRECOMPILERS=(),
|
||||||
|
COMPRESS_DEBUG_TOGGLE='nocompress'
|
||||||
|
)
|
||||||
class PostCompressSignalTestCase(TestCase):
|
class PostCompressSignalTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
settings.COMPRESS_ENABLED = True
|
|
||||||
settings.COMPRESS_PRECOMPILERS = ()
|
|
||||||
settings.COMPRESS_DEBUG_TOGGLE = 'nocompress'
|
|
||||||
self.css = """\
|
self.css = """\
|
||||||
<link rel="stylesheet" href="/static/css/one.css" type="text/css" />
|
<link rel="stylesheet" href="/static/css/one.css" type="text/css" />
|
||||||
<style type="text/css">p { border:5px solid green;}</style>
|
<style type="text/css">p { border:5px solid green;}</style>
|
||||||
|
@@ -5,6 +5,7 @@ import os
|
|||||||
from django.core.files.base import ContentFile
|
from django.core.files.base import ContentFile
|
||||||
from django.core.files.storage import get_storage_class
|
from django.core.files.storage import get_storage_class
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
|
from django.test.utils import override_settings
|
||||||
from django.utils.functional import LazyObject
|
from django.utils.functional import LazyObject
|
||||||
|
|
||||||
from compressor import storage
|
from compressor import storage
|
||||||
@@ -18,16 +19,14 @@ class GzipStorage(LazyObject):
|
|||||||
self._wrapped = get_storage_class('compressor.storage.GzipCompressorFileStorage')()
|
self._wrapped = get_storage_class('compressor.storage.GzipCompressorFileStorage')()
|
||||||
|
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_ENABLED=True)
|
||||||
class StorageTestCase(TestCase):
|
class StorageTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.old_enabled = settings.COMPRESS_ENABLED
|
|
||||||
settings.COMPRESS_ENABLED = True
|
|
||||||
self.default_storage = storage.default_storage
|
self.default_storage = storage.default_storage
|
||||||
storage.default_storage = GzipStorage()
|
storage.default_storage = GzipStorage()
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
storage.default_storage = self.default_storage
|
storage.default_storage = self.default_storage
|
||||||
settings.COMPRESS_ENABLED = self.old_enabled
|
|
||||||
|
|
||||||
def test_gzip_storage(self):
|
def test_gzip_storage(self):
|
||||||
storage.default_storage.save('test.txt', ContentFile('yeah yeah'))
|
storage.default_storage.save('test.txt', ContentFile('yeah yeah'))
|
||||||
|
@@ -25,15 +25,11 @@ def render(template_string, context_dict=None):
|
|||||||
return t.render(c).strip()
|
return t.render(c).strip()
|
||||||
|
|
||||||
|
|
||||||
|
@override_settings(COMPRESS_ENABLED=True)
|
||||||
class TemplatetagTestCase(TestCase):
|
class TemplatetagTestCase(TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.old_enabled = settings.COMPRESS_ENABLED
|
|
||||||
settings.COMPRESS_ENABLED = True
|
|
||||||
self.context = {'STATIC_URL': settings.COMPRESS_URL}
|
self.context = {'STATIC_URL': settings.COMPRESS_URL}
|
||||||
|
|
||||||
def tearDown(self):
|
|
||||||
settings.COMPRESS_ENABLED = self.old_enabled
|
|
||||||
|
|
||||||
def test_empty_tag(self):
|
def test_empty_tag(self):
|
||||||
template = """{% load compress %}{% compress js %}{% block js %}
|
template = """{% load compress %}{% compress js %}{% block js %}
|
||||||
{% endblock %}{% endcompress %}"""
|
{% endblock %}{% endcompress %}"""
|
||||||
|
Reference in New Issue
Block a user