From 85a860d5dd1b1e05a1161d103d371bd83be8574a Mon Sep 17 00:00:00 2001 From: Will Thompson Date: Mon, 15 Aug 2016 11:18:24 +0100 Subject: [PATCH] test_readers: test reading empty Markdown files --- pelican/tests/content/empty.md | 0 pelican/tests/content/empty_with_bom.md | 1 + pelican/tests/test_cache.py | 6 ++++-- pelican/tests/test_readers.py | 16 ++++++++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 pelican/tests/content/empty.md create mode 100644 pelican/tests/content/empty_with_bom.md diff --git a/pelican/tests/content/empty.md b/pelican/tests/content/empty.md new file mode 100644 index 00000000..e69de29b diff --git a/pelican/tests/content/empty_with_bom.md b/pelican/tests/content/empty_with_bom.md new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/pelican/tests/content/empty_with_bom.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pelican/tests/test_cache.py b/pelican/tests/test_cache.py index 2e6786b3..e8ea4967 100644 --- a/pelican/tests/test_cache.py +++ b/pelican/tests/test_cache.py @@ -56,13 +56,15 @@ class TestCache(unittest.TestCase): generator.readers.read_file = MagicMock() generator.generate_context() """ - 4 files don't get cached because they were not valid + 6 files don't get cached because they were not valid - article_with_attributes_containing_double_quotes.html - article_with_comments.html - article_with_null_attributes.html - 2012-11-30_md_w_filename_meta#foo-bar.md + - empty.md + - empty_with_bom.md """ - self.assertEqual(generator.readers.read_file.call_count, 4) + self.assertEqual(generator.readers.read_file.call_count, 6) @unittest.skipUnless(MagicMock, 'Needs Mock module') def test_article_reader_content_caching(self): diff --git a/pelican/tests/test_readers.py b/pelican/tests/test_readers.py index e9100241..43279179 100644 --- a/pelican/tests/test_readers.py +++ b/pelican/tests/test_readers.py @@ -546,6 +546,22 @@ class MdReaderTest(ReaderTest): } self.assertDictHasSubset(metadata, expected) + def test_empty_file(self): + reader = readers.MarkdownReader(settings=get_settings()) + content, metadata = reader.read( + _path('empty.md')) + + self.assertEqual(metadata, {}) + self.assertEqual(content, '') + + def test_empty_file_with_bom(self): + reader = readers.MarkdownReader(settings=get_settings()) + content, metadata = reader.read( + _path('empty_with_bom.md')) + + self.assertEqual(metadata, {}) + self.assertEqual(content, '') + class HTMLReaderTest(ReaderTest): def test_article_with_comments(self):