          self.assertIn(os.path.join('cached', 'css', 'window.css'), stats['post_processed'])
          self.assertIn(os.path.join('cached', 'css', 'img', 'window.png'), stats['unmodified'])
          self.assertIn(os.path.join('test', 'nonascii.css'), stats['post_processed'])
  
      def test_cache_key_memcache_validation(self):
          """
          Handle cache key creation correctly, see #17861.
          """
          name = "/some crazy/long filename/ with spaces Here and ?#%#$/other/stuff/some crazy/long filename/ with spaces Here and ?#%#$/other/stuff/some crazy/long filename/ with spaces Here and ?#%#$/other/stuff/some crazy/long filename/ with spaces Here and ?#%#$/other/stuff/some crazy/long filename/ with spaces Here and ?#%#$/other/stuff/some crazy/" + "\x16" + "\xb4"
          cache_key = storage.staticfiles_storage.cache_key(name)
          cache_validator = BaseCache({})
          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()
 
</s> remove         relpath = self.cached_file_path("cached/styles_insensitive.css")
 </s> add         relpath = self.hashed_file_path("cached/styles_insensitive.css") </s> remove         relpath = self.cached_file_path("cached/css/window.css")
 </s> add         relpath = self.hashed_file_path("cached/css/window.css") </s> remove     def test_cache_invalidation(self):
        name = "cached/styles.css"
        hashed_name = "cached/styles.93b1147e8552.css"
        # check if the cache is filled correctly as expected
        cache_key = storage.staticfiles_storage.cache_key(name)
        cached_name = storage.staticfiles_storage.cache.get(cache_key)
        self.assertEqual(self.cached_file_path(name), cached_name)
        # clearing the cache to make sure we re-set it correctly in the url method
        storage.staticfiles_storage.cache.clear()
        cached_name = storage.staticfiles_storage.cache.get(cache_key)
        self.assertEqual(cached_name, None)
        self.assertEqual(self.cached_file_path(name), hashed_name)
        cached_name = storage.staticfiles_storage.cache.get(cache_key)
        self.assertEqual(cached_name, hashed_name)

 </s> add  </s> remove         relpath = self.cached_file_path("cached/styles.css")
 </s> add         relpath = self.hashed_file_path("cached/styles.css") </s> remove         relpath = self.cached_file_path("cached/styles.css")
 </s> add         relpath = self.hashed_file_path("cached/styles.css")
          self.assertIn(os.path.join('cached', 'css', 'window.css'), stats['post_processed'])
          self.assertIn(os.path.join('cached', 'css', 'img', 'window.png'), stats['unmodified'])
          self.assertIn(os.path.join('test', 'nonascii.css'), stats['post_processed'])
  










      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()
keep keep keep keep replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Added ManifestStaticFilesStorage to staticfiles contrib app.

It uses a static manifest file that is created when running
collectstatic in the JSON format. 
tests/staticfiles_tests/tests.py