diff --git a/pelican/tests/test_readers.py b/pelican/tests/test_readers.py index cb7db575..1b3a2055 100644 --- a/pelican/tests/test_readers.py +++ b/pelican/tests/test_readers.py @@ -14,17 +14,6 @@ CONTENT_PATH = os.path.join(CUR_DIR, 'content') def _path(*args): return os.path.join(CONTENT_PATH, *args) -class ReaderTests(unittest.TestCase): - def test_readfile_unknown_extension(self): - f = _path('article_with_metadata.unknownextension') - with self.assertRaises(TypeError) as cm: - readers.read_file(f) - ex = cm.exception - self.assertEqual('Pelican does not know how to parse ' + f, ex.message) - #, setattr, root.c1.c2, 'text', "test") - # self.assertTrue(1 == 0) - # except TypeError: - # self.assertTrue(1 == 1) class ReaderTest(unittest.TestCase): @@ -34,6 +23,15 @@ class ReaderTest(unittest.TestCase): return r.read_file(base_path=CONTENT_PATH, path=path) +class DefaultReaderTest(ReaderTest): + + def test_readfile_unknown_extension(self): + with self.assertRaises(TypeError) as cm: + self.read_file(path='article_with_metadata.unknownextension') + ex = cm.exception + self.assertIn('Pelican does not know how to parse', ex.message) + + class RstReaderTest(ReaderTest): def test_article_with_metadata(self): @@ -98,11 +96,11 @@ class RstReaderTest(ReaderTest): # Keys of metadata should be lowercase. reader = readers.RstReader(settings=get_settings()) content, metadata = reader.read( - _path('article_with_uppercase_metadata.rst')) + _path('article_with_uppercase_metadata.rst')) self.assertIn('category', metadata, 'Key should be lowercase.') self.assertEqual('Yeah', metadata.get('category'), - 'Value keeps case.') + 'Value keeps case.') def test_typogrify(self): # if nothing is specified in the settings, the content should be @@ -158,7 +156,6 @@ class MdReaderTest(ReaderTest): for key, value in metadata.items(): self.assertEqual(value, expected[key], key) - @unittest.skipUnless(readers.Markdown, "markdown isn't installed") def test_article_with_footnote(self): reader = readers.MarkdownReader(settings=get_settings()) @@ -179,8 +176,8 @@ class MdReaderTest(ReaderTest): 'title="Jump back to footnote 1 in the text">↩
\n' '\nNamed footnote ' - '↩
\n' + '↩\n' 'The quick brown fox jumped over the lazy dog's back.
") + "The quick brown fox jumped over the lazy dog's back.
") self.assertEqual(content, expected) # test to ensure the mkd file extension is being processed by the # correct reader @@ -319,7 +315,7 @@ class AdReaderTest(ReaderTest): def test_article_with_asc_options(self): # test to ensure the ASCIIDOC_OPTIONS is being used reader = readers.AsciiDocReader( - dict(ASCIIDOC_OPTIONS=["-a revision=1.0.42"])) + dict(ASCIIDOC_OPTIONS=["-a revision=1.0.42"])) content, metadata = reader.read(_path('article_with_asc_options.asc')) expected = ('version 1.0.42
\n' @@ -375,7 +371,6 @@ class HTMLReaderTest(ReaderTest): for key, value in expected.items(): self.assertEqual(value, page.metadata[key], key) - def test_article_with_null_attributes(self): page = self.read_file(path='article_with_null_attributes.html') @@ -389,4 +384,4 @@ class HTMLReaderTest(ReaderTest): page = self.read_file(path='article_with_uppercase_metadata.html') self.assertIn('category', page.metadata, 'Key should be lowercase.') self.assertEqual('Yeah', page.metadata.get('category'), - 'Value keeps cases.') + 'Value keeps cases.')