From 82fcfbcbfcd8a3233f962c1a4a2c1843f8a5e3b1 Mon Sep 17 00:00:00 2001 From: Deniz Turgut Date: Tue, 21 Apr 2020 22:57:15 +0300 Subject: [PATCH] Remove duplicate tests in test_contents TestArticle was a subclass of TestPage and therefore included all the tests TestPage already had. Effectively tests from TestPage were run twice. This splits the common parts of TestPage to a base class called TestBase and TestPage/TestArticle will both inherit from it. --- pelican/tests/test_contents.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pelican/tests/test_contents.py b/pelican/tests/test_contents.py index ebde9c3c..4c23a3da 100644 --- a/pelican/tests/test_contents.py +++ b/pelican/tests/test_contents.py @@ -22,7 +22,7 @@ TEST_CONTENT = str(generate_lorem_ipsum(n=1)) TEST_SUMMARY = generate_lorem_ipsum(n=1, html=False) -class TestPage(LoggedTestCase): +class TestBase(LoggedTestCase): def setUp(self): super().setUp() @@ -54,6 +54,20 @@ class TestPage(LoggedTestCase): from pelican.contents import logger logger.enable_filter() + def _copy_page_kwargs(self): + # make a deep copy of page_kwargs + page_kwargs = dict([(key, self.page_kwargs[key]) for key in + self.page_kwargs]) + for key in page_kwargs: + if not isinstance(page_kwargs[key], dict): + break + page_kwargs[key] = dict([(subkey, page_kwargs[key][subkey]) + for subkey in page_kwargs[key]]) + + return page_kwargs + + +class TestPage(TestBase): def test_use_args(self): # Creating a page with arguments passed to the constructor should use # them to initialise object's attributes. @@ -268,18 +282,6 @@ class TestPage(LoggedTestCase): custom_page = Page(**page_kwargs) self.assertEqual('custom', custom_page.template) - def _copy_page_kwargs(self): - # make a deep copy of page_kwargs - page_kwargs = dict([(key, self.page_kwargs[key]) for key in - self.page_kwargs]) - for key in page_kwargs: - if not isinstance(page_kwargs[key], dict): - break - page_kwargs[key] = dict([(subkey, page_kwargs[key][subkey]) - for subkey in page_kwargs[key]]) - - return page_kwargs - def test_signal(self): def receiver_test_function(sender): receiver_test_function.has_been_called = True @@ -602,7 +604,7 @@ class TestPage(LoggedTestCase): assert content.author == content.authors[0] -class TestArticle(TestPage): +class TestArticle(TestBase): def test_template(self): # Articles default to article, metadata overwrites default_article = Article(**self.page_kwargs)