Use MD5 instead of SHA1 to reduce the computational impact.
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,7 +1,7 @@
|
||||
build
|
||||
compressor/tests/media/CACHE
|
||||
compressor/tests/media/custom
|
||||
compressor/tests/media/js/3f33b9146e12.js
|
||||
compressor/tests/media/js/066cd253eada.js
|
||||
dist
|
||||
MANIFEST
|
||||
*.pyc
|
||||
|
||||
@@ -3,13 +3,13 @@ import socket
|
||||
|
||||
from django.core.cache import get_cache
|
||||
from django.utils.encoding import smart_str
|
||||
from django.utils.hashcompat import sha_constructor
|
||||
from django.utils.hashcompat import md5_constructor
|
||||
|
||||
from compressor.conf import settings
|
||||
|
||||
|
||||
def get_hexdigest(plaintext, length=None):
|
||||
digest = sha_constructor(smart_str(plaintext)).hexdigest()
|
||||
digest = md5_constructor(smart_str(plaintext)).hexdigest()
|
||||
if length:
|
||||
return digest[:length]
|
||||
return digest
|
||||
|
||||
@@ -91,10 +91,10 @@ class CompressorTestCase(TestCase):
|
||||
self.assert_(is_cachekey.match(self.css_node.cachekey), "cachekey is returning something that doesn't look like r'django_compressor\.%s\.\w{12}'" % host_name)
|
||||
|
||||
def test_css_hash(self):
|
||||
self.assertEqual('666f3aa8eacd', get_hexdigest(self.css, 12))
|
||||
self.assertEqual('c618e6846d04', get_hexdigest(self.css, 12))
|
||||
|
||||
def test_css_return_if_on(self):
|
||||
output = u'<link rel="stylesheet" href="/media/CACHE/css/f7c661b7a124.css" type="text/css">'
|
||||
output = u'<link rel="stylesheet" href="/media/CACHE/css/e41ba2cc6982.css" type="text/css">'
|
||||
self.assertEqual(output, self.css_node.output().strip())
|
||||
|
||||
def test_js_split(self):
|
||||
@@ -129,20 +129,20 @@ class CompressorTestCase(TestCase):
|
||||
settings.COMPRESS_PRECOMPILERS = precompilers
|
||||
|
||||
def test_js_return_if_on(self):
|
||||
output = u'<script type="text/javascript" src="/media/CACHE/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
output = u'<script type="text/javascript" src="/media/CACHE/js/066cd253eada.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, self.js_node.output())
|
||||
|
||||
def test_custom_output_dir(self):
|
||||
try:
|
||||
old_output_dir = settings.COMPRESS_OUTPUT_DIR
|
||||
settings.COMPRESS_OUTPUT_DIR = 'custom'
|
||||
output = u'<script type="text/javascript" src="/media/custom/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
output = u'<script type="text/javascript" src="/media/custom/js/066cd253eada.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
settings.COMPRESS_OUTPUT_DIR = ''
|
||||
output = u'<script type="text/javascript" src="/media/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
output = u'<script type="text/javascript" src="/media/js/066cd253eada.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
settings.COMPRESS_OUTPUT_DIR = '/custom/nested/'
|
||||
output = u'<script type="text/javascript" src="/media/custom/nested/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
output = u'<script type="text/javascript" src="/media/custom/nested/js/066cd253eada.js" charset="utf-8"></script>'
|
||||
self.assertEqual(output, JsCompressor(self.js).output())
|
||||
finally:
|
||||
settings.COMPRESS_OUTPUT_DIR = old_output_dir
|
||||
@@ -340,7 +340,7 @@ class TemplatetagTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = u'<link rel="stylesheet" href="/media/CACHE/css/f7c661b7a124.css" type="text/css">'
|
||||
out = u'<link rel="stylesheet" href="/media/CACHE/css/e41ba2cc6982.css" type="text/css">'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_nonascii_css_tag(self):
|
||||
@@ -350,7 +350,7 @@ class TemplatetagTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = '<link rel="stylesheet" href="/media/CACHE/css/1c1c0855907b.css" type="text/css">'
|
||||
out = '<link rel="stylesheet" href="/media/CACHE/css/799f6defe43c.css" type="text/css">'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_js_tag(self):
|
||||
@@ -360,7 +360,7 @@ class TemplatetagTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/3f33b9146e12.js" charset="utf-8"></script>'
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/066cd253eada.js" charset="utf-8"></script>'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_nonascii_js_tag(self):
|
||||
@@ -370,7 +370,7 @@ class TemplatetagTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/5d5c0e1cb25f.js" charset="utf-8"></script>'
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/e214fe629b28.js" charset="utf-8"></script>'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_nonascii_latin1_js_tag(self):
|
||||
@@ -380,7 +380,7 @@ class TemplatetagTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/40a8e9ffb476.js" charset="utf-8"></script>'
|
||||
out = u'<script type="text/javascript" src="/media/CACHE/js/f1be5a5de243.js" charset="utf-8"></script>'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
def test_compress_tag_with_illegal_arguments(self):
|
||||
@@ -419,7 +419,7 @@ class StorageTestCase(TestCase):
|
||||
{% endcompress %}
|
||||
"""
|
||||
context = { 'MEDIA_URL': settings.COMPRESS_URL }
|
||||
out = u'<link rel="stylesheet" href="/media/CACHE/css/5b231a62e9a6.css.gz" type="text/css">'
|
||||
out = u'<link rel="stylesheet" href="/media/CACHE/css/1d4424458f88.css.gz" type="text/css">'
|
||||
self.assertEqual(out, render(template, context))
|
||||
|
||||
|
||||
@@ -452,8 +452,8 @@ class OfflineGenerationTestCase(TestCase):
|
||||
count, result = CompressCommand().compress()
|
||||
self.assertEqual(2, count)
|
||||
self.assertEqual([
|
||||
u'<link rel="stylesheet" href="/media/CACHE/css/a55e1cf95000.css" type="text/css">\n',
|
||||
u'<script type="text/javascript" src="/media/CACHE/js/bf53fa5b13e2.js" charset="utf-8"></script>',
|
||||
u'<link rel="stylesheet" href="/media/CACHE/css/cd579b7deb7d.css" type="text/css">\n',
|
||||
u'<script type="text/javascript" src="/media/CACHE/js/0a2bb9a287c0.js" charset="utf-8"></script>',
|
||||
], result)
|
||||
|
||||
def test_offline_with_context(self):
|
||||
@@ -464,8 +464,8 @@ class OfflineGenerationTestCase(TestCase):
|
||||
count, result = CompressCommand().compress()
|
||||
self.assertEqual(2, count)
|
||||
self.assertEqual([
|
||||
u'<link rel="stylesheet" href="/media/CACHE/css/8a2405e029de.css" type="text/css">\n',
|
||||
u'<script type="text/javascript" src="/media/CACHE/js/bf53fa5b13e2.js" charset="utf-8"></script>',
|
||||
u'<link rel="stylesheet" href="/media/CACHE/css/ee62fbfd116a.css" type="text/css">\n',
|
||||
u'<script type="text/javascript" src="/media/CACHE/js/0a2bb9a287c0.js" charset="utf-8"></script>',
|
||||
], result)
|
||||
settings.COMPRESS_OFFLINE_CONTEXT = self._old_offline_context
|
||||
|
||||
|
||||
Reference in New Issue
Block a user