def test_content_driven_cache_wrap(self): cache_name = self.check_cache_gone('content') # Pass a non-empty list as content cache = PersistentCache(cache_name, cache_manager=self.manager, contents=[''], builder=lambda *args: []) cache[0] = 'foo' cache.append('bar') cache.save() cache.load() self.assertTrue(isinstance(cache, PersistentCache)) self.assertTrue(isinstance(cache.contents, list)) self.check_cache(cache_name, True) self.assertEqual(cache[0], 'foo') self.assertEqual(cache[1], 'bar') cache.invalidate_and_rebuild() self.assertTrue(isinstance(cache, PersistentCache)) self.assertTrue(isinstance(cache.contents, list)) self.assert_contents_equal(cache, [])