CSS specifications governs that syntax is case insensitive.
This modifies CachedFilesMixin to support that.
This commit is contained in:
Aleksandra Sendecka 2013-02-23 22:39:37 +01:00
parent 1c11ee6345
commit 32a7ab2148
3 changed files with 10 additions and 1 deletions

View File

@ -71,7 +71,7 @@ class CachedFilesMixin(object):
pattern, template = pattern pattern, template = pattern
else: else:
template = self.default_template template = self.default_template
compiled = re.compile(pattern) compiled = re.compile(pattern, re.IGNORECASE)
self._patterns.setdefault(extension, []).append((compiled, template)) self._patterns.setdefault(extension, []).append((compiled, template))
def file_hash(self, name, content=None): def file_hash(self, name, content=None):

View File

@ -0,0 +1 @@
@IMporT uRL("other.css");

View File

@ -542,6 +542,14 @@ class TestCollectionCachedStorage(BaseCollectionTestCase,
cache_validator.validate_key(cache_key) cache_validator.validate_key(cache_key)
self.assertEqual(cache_key, 'staticfiles:821ea71ef36f95b3922a77f7364670e7') self.assertEqual(cache_key, 'staticfiles:821ea71ef36f95b3922a77f7364670e7')
def test_css_import_case_insensitive(self):
relpath = self.cached_file_path("cached/styles_insensitive.css")
self.assertEqual(relpath, "cached/styles_insensitive.2f0151cca872.css")
with storage.staticfiles_storage.open(relpath) as relfile:
content = relfile.read()
self.assertNotIn(b"cached/other.css", content)
self.assertIn(b"other.d41d8cd98f00.css", content)
# we set DEBUG to False here since the template tag wouldn't work otherwise # we set DEBUG to False here since the template tag wouldn't work otherwise
@override_settings(**dict(TEST_SETTINGS, @override_settings(**dict(TEST_SETTINGS,