diff --git a/tests/content/TestCategory/article_with_category.rst b/tests/content/TestCategory/article_with_category.rst new file mode 100644 index 00000000..7ed6e6d1 --- /dev/null +++ b/tests/content/TestCategory/article_with_category.rst @@ -0,0 +1,6 @@ +This is an article with category ! +################################## + +:category: yeah + +This article should be in 'yeah' category. diff --git a/tests/content/TestCategory/article_without_category.rst b/tests/content/TestCategory/article_without_category.rst new file mode 100644 index 00000000..4bc5d78d --- /dev/null +++ b/tests/content/TestCategory/article_without_category.rst @@ -0,0 +1,4 @@ +This is an article without category ! +##################################### + +This article should be in 'TestCategory' category. diff --git a/tests/content/article_without_category.rst b/tests/content/article_without_category.rst new file mode 100644 index 00000000..ff47f6ef --- /dev/null +++ b/tests/content/article_without_category.rst @@ -0,0 +1,6 @@ + +This is an article without category ! +##################################### + +This article should be in the DEFAULT_CATEGORY. + diff --git a/tests/test_generators.py b/tests/test_generators.py index e30b0c98..45461cb7 100644 --- a/tests/test_generators.py +++ b/tests/test_generators.py @@ -1,11 +1,13 @@ # -*- coding: utf-8 -*- from mock import MagicMock +import os from pelican.generators import ArticlesGenerator from pelican.settings import _DEFAULT_CONFIG from .support import unittest +CUR_DIR = os.path.dirname(__file__) class TestArticlesGenerator(unittest.TestCase): @@ -13,7 +15,7 @@ class TestArticlesGenerator(unittest.TestCase): generator = ArticlesGenerator(None, {'FEED': _DEFAULT_CONFIG['FEED']}, None, _DEFAULT_CONFIG['THEME'], None, - None) + _DEFAULT_CONFIG['MARKUP']) writer = MagicMock() generator.generate_feeds(writer) writer.write_feed.assert_called_with([], None, 'feeds/all.atom.xml') @@ -23,3 +25,24 @@ class TestArticlesGenerator(unittest.TestCase): writer = MagicMock() generator.generate_feeds(writer) self.assertFalse(writer.write_feed.called) + + def test_generate_context(self): + + settings = _DEFAULT_CONFIG + settings['ARTICLE_DIR'] = 'content' + settings['DEFAULT_CATEGORY'] = 'Default' + generator = ArticlesGenerator(settings.copy(), settings, CUR_DIR, + _DEFAULT_CONFIG['THEME'], None, + _DEFAULT_CONFIG['MARKUP']) + generator.generate_context() + for article in generator.articles: + relfilepath = os.path.relpath(article.filename, CUR_DIR) + if relfilepath == os.path.join("TestCategory", + "article_with_category.rst"): + self.assertEquals(article.category.name, 'yeah') + elif relfilepath == os.path.join("TestCategory", + "article_without_category.rst"): + self.assertEquals(article.category.name, 'TestCategory') + elif relfilepath == "article_without_category.rst": + self.assertEquals(article.category.name, 'Default') +