1
0
Fork 0
forked from github/pelican

Ensure _DISCARDED is not being cached. Fix #2825 (#2926)

Filtration is now being applied before caching the metadata, solving the issue where _DISCARD objects from previous runs were being retrieved from cache.
This commit is contained in:
Jonas Borges 2021-10-06 09:19:17 +01:00 committed by GitHub
commit 8849721913
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 1 deletions

View file

@ -18,6 +18,7 @@ class ReaderTest(unittest.TestCase):
def read_file(self, path, **kwargs):
# Isolate from future API changes to readers.read_file
r = readers.Readers(settings=get_settings(**kwargs))
return r.read_file(base_path=CONTENT_PATH, path=path)
@ -795,6 +796,23 @@ class MdReaderTest(ReaderTest):
self.assertEqual(page.content, expected)
self.assertEqual(page.title, expected_title)
def test_metadata_has_no_discarded_data(self):
md_filename = 'article_with_markdown_and_empty_tags.md'
r = readers.Readers(cache_name='cache', settings=get_settings(
CACHE_CONTENT=True))
page = r.read_file(base_path=CONTENT_PATH, path=md_filename)
__, cached_metadata = r.get_cached_data(
_path(md_filename), (None, None))
expected = {
'title': 'Article with markdown and empty tags'
}
self.assertEqual(cached_metadata, expected)
self.assertNotIn('tags', page.metadata)
self.assertDictHasSubset(page.metadata, expected)
class HTMLReaderTest(ReaderTest):
def test_article_with_comments(self):