              self.assertNotIn(b"url(img/relative.png )", content)
              self.assertIn(b'url("img/relative.acae32e4532b.png', content)
  
      def test_template_tag_relative(self):
          relpath = self.cached_file_path("cached/relative.css")
          self.assertEqual(relpath, "cached/relative.2217ea7273c2.css")
          with storage.staticfiles_storage.open(relpath) as relfile:
              content = relfile.read()
              self.assertNotIn(b"../cached/styles.css", content)
              self.assertNotIn(b'@import "styles.css"', content)
 
</s> remove         relpath = self.cached_file_path("cached/absolute.css")
 </s> add         relpath = self.hashed_file_path("cached/absolute.css") </s> remove         relpath = self.cached_file_path("cached/css/ignored.css")
 </s> add         relpath = self.hashed_file_path("cached/css/ignored.css") </s> remove         relpath = self.cached_file_path("cached/css/fragments.css")
 </s> add         relpath = self.hashed_file_path("cached/css/fragments.css") </s> remove         relpath = self.cached_file_path("cached/denorm.css")
 </s> add         relpath = self.hashed_file_path("cached/denorm.css") </s> remove         relpath = self.cached_file_path("cached/css/window.css")
 </s> add         relpath = self.hashed_file_path("cached/css/window.css")
        relpath = self.hashed_file_path("cached/relative.css")
              self.assertNotIn(b"url(img/relative.png )", content)
              self.assertIn(b'url("img/relative.acae32e4532b.png', content)
  
      def test_template_tag_relative(self):
        relpath = self.hashed_file_path("cached/relative.css")
          self.assertEqual(relpath, "cached/relative.2217ea7273c2.css")
          with storage.staticfiles_storage.open(relpath) as relfile:
              content = relfile.read()
              self.assertNotIn(b"../cached/styles.css", content)
              self.assertNotIn(b'@import "styles.css"', content)
keep keep keep keep 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