Quellcode durchsuchen

Merge pull request #809 from asendecka/ticket19526

Fixed #19526 - make regexes for css case insensitive
Honza Král vor 12 Jahren
Ursprung
Commit
83ecb7b145

+ 1 - 1
django/contrib/staticfiles/storage.py

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

+ 1 - 0
tests/regressiontests/staticfiles_tests/project/documents/cached/styles_insensitive.css

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

+ 8 - 0
tests/regressiontests/staticfiles_tests/tests.py

@@ -542,6 +542,14 @@ class TestCollectionCachedStorage(BaseCollectionTestCase,
         cache_validator.validate_key(cache_key)
         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
 @override_settings(**dict(TEST_SETTINGS,