forked from github/pelican
Add tests for Pelican and pelican_import tool
Added tests to ensure that: - THEME and deprecated *_DIR settings result in the expected configurations - Post headers are formatted correctly in both Markdown and reStructuredText - Files specified in IGNORE_FILES setting are properly ignored - Generator.get_files()'s `paths` argument is backwards-compatible with strings
This commit is contained in:
parent
95860c6b1b
commit
6549f51591
3 changed files with 90 additions and 8 deletions
|
|
@ -34,12 +34,17 @@ class TestGenerator(unittest.TestCase):
|
|||
|
||||
|
||||
def test_include_path(self):
|
||||
self.settings['IGNORE_FILES'] = {'ignored1.rst', 'ignored2.rst'}
|
||||
|
||||
filename = os.path.join(CUR_DIR, 'content', 'article.rst')
|
||||
include_path = self.generator._include_path
|
||||
self.assertTrue(include_path(filename))
|
||||
self.assertTrue(include_path(filename, extensions=('rst',)))
|
||||
self.assertFalse(include_path(filename, extensions=('md',)))
|
||||
|
||||
ignored_file = os.path.join(CUR_DIR, 'content', 'ignored1.rst')
|
||||
self.assertFalse(include_path(ignored_file))
|
||||
|
||||
def test_get_files_exclude(self):
|
||||
"""Test that Generator.get_files() properly excludes directories.
|
||||
"""
|
||||
|
|
@ -55,6 +60,13 @@ class TestGenerator(unittest.TestCase):
|
|||
self.assertFalse(expected_files - found_files,
|
||||
"get_files() failed to find one or more files")
|
||||
|
||||
# Test string as `paths` argument rather than list
|
||||
filepaths = generator.get_files(paths='maindir')
|
||||
found_files = {os.path.basename(f) for f in filepaths}
|
||||
expected_files = {'maindir.md', 'subdir.md'}
|
||||
self.assertFalse(expected_files - found_files,
|
||||
"get_files() failed to find one or more files")
|
||||
|
||||
filepaths = generator.get_files(paths=[''], exclude=['maindir'])
|
||||
found_files = {os.path.basename(f) for f in filepaths}
|
||||
self.assertNotIn('maindir.md', found_files,
|
||||
|
|
@ -317,6 +329,14 @@ class TestArticlesGenerator(unittest.TestCase):
|
|||
settings,
|
||||
blog=True, dates=dates)
|
||||
|
||||
def test_nonexistent_template(self):
|
||||
"""Attempt to load a non-existent template"""
|
||||
settings = get_settings(filenames={})
|
||||
generator = ArticlesGenerator(
|
||||
context=settings, settings=settings,
|
||||
path=None, theme=settings['THEME'], output_path=None)
|
||||
self.assertRaises(Exception, generator.get_template, "not_a_template")
|
||||
|
||||
def test_generate_authors(self):
|
||||
"""Check authors generation."""
|
||||
authors = [author.name for author, _ in self.generator.authors]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue