Add an test related to articles' category.

This commit is contained in:
draftcode 2012-03-24 13:52:03 +09:00
commit cffb44891a
4 changed files with 40 additions and 1 deletions

View file

@ -0,0 +1,6 @@
This is an article with category !
##################################
:category: yeah
This article should be in 'yeah' category.

View file

@ -0,0 +1,4 @@
This is an article without category !
#####################################
This article should be in 'TestCategory' category.

View file

@ -0,0 +1,6 @@
This is an article without category !
#####################################
This article should be in the DEFAULT_CATEGORY.

View file

@ -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')