mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
Added tests for page generation.
Currently tests rst & markdown generation, ignoring pages w/ bad status, and status hidden vs published
This commit is contained in:
parent
c2993c4d4e
commit
cf696939f8
6 changed files with 84 additions and 1 deletions
8
tests/TestPages/bad_page.rst
Normal file
8
tests/TestPages/bad_page.rst
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
This is a test bad page
|
||||||
|
#######################
|
||||||
|
|
||||||
|
:status: invalid
|
||||||
|
|
||||||
|
The quick brown fox jumped over the lazy dog's back.
|
||||||
|
|
||||||
|
The status here is invalid, the page should not render.
|
||||||
8
tests/TestPages/hidden_page.rst
Normal file
8
tests/TestPages/hidden_page.rst
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
This is a test hidden page
|
||||||
|
##########################
|
||||||
|
|
||||||
|
:status: hidden
|
||||||
|
|
||||||
|
The quick brown fox jumped over the lazy dog's back.
|
||||||
|
|
||||||
|
This page is hidden
|
||||||
12
tests/TestPages/hidden_page_markdown.md
Normal file
12
tests/TestPages/hidden_page_markdown.md
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
title: This is a markdown test hidden page
|
||||||
|
status: hidden
|
||||||
|
|
||||||
|
Test Markdown File Header
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Used for pelican test
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
The quick brown fox jumped over the lazy dog's back.
|
||||||
|
|
||||||
|
This page is hidden
|
||||||
4
tests/TestPages/page.rst
Normal file
4
tests/TestPages/page.rst
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
This is a test page
|
||||||
|
###################
|
||||||
|
|
||||||
|
The quick brown fox jumped over the lazy dog's back.
|
||||||
9
tests/TestPages/page_markdown.md
Normal file
9
tests/TestPages/page_markdown.md
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
title: This is a markdown test page
|
||||||
|
|
||||||
|
Test Markdown File Header
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Used for pelican test
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
The quick brown fox jumped over the lazy dog's back.
|
||||||
|
|
@ -4,7 +4,7 @@ from mock import MagicMock
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from pelican.generators import ArticlesGenerator, LessCSSGenerator
|
from pelican.generators import ArticlesGenerator, LessCSSGenerator, PagesGenerator
|
||||||
from pelican.settings import _DEFAULT_CONFIG
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
from .support import unittest, temporary_folder, skipIfNoExecutable
|
from .support import unittest, temporary_folder, skipIfNoExecutable
|
||||||
|
|
||||||
|
|
@ -94,6 +94,48 @@ class TestArticlesGenerator(unittest.TestCase):
|
||||||
write.assert_called_count == 0
|
write.assert_called_count == 0
|
||||||
|
|
||||||
|
|
||||||
|
class TestPageGenerator(unittest.TestCase):
|
||||||
|
"""
|
||||||
|
Every time you want to test for a new field;
|
||||||
|
Make sure the test pages in "TestPages" have all the fields
|
||||||
|
Add it to distilled in distill_pages_for_test
|
||||||
|
Then update the assertItemsEqual in test_generate_context to match expected
|
||||||
|
"""
|
||||||
|
|
||||||
|
def distill_pages_for_test(self, pages):
|
||||||
|
distilled = []
|
||||||
|
for page in pages:
|
||||||
|
distilled.append([
|
||||||
|
page.title,
|
||||||
|
page.status
|
||||||
|
]
|
||||||
|
)
|
||||||
|
return distilled
|
||||||
|
|
||||||
|
def test_generate_context(self):
|
||||||
|
settings = _DEFAULT_CONFIG.copy()
|
||||||
|
|
||||||
|
settings['PAGE_DIR'] = 'TestPages'
|
||||||
|
generator = PagesGenerator(settings.copy(), settings, CUR_DIR,
|
||||||
|
_DEFAULT_CONFIG['THEME'], None,
|
||||||
|
_DEFAULT_CONFIG['MARKUP'])
|
||||||
|
generator.generate_context()
|
||||||
|
pages = self.distill_pages_for_test(generator.pages)
|
||||||
|
hidden_pages = self.distill_pages_for_test(generator.hidden_pages)
|
||||||
|
|
||||||
|
pages_expected = [
|
||||||
|
[u'This is a test page', 'published'],
|
||||||
|
[u'This is a markdown test page', 'published']
|
||||||
|
]
|
||||||
|
hidden_pages_expected = [
|
||||||
|
[u'This is a test hidden page', 'hidden'],
|
||||||
|
[u'This is a markdown test hidden page', 'hidden']
|
||||||
|
]
|
||||||
|
|
||||||
|
self.assertItemsEqual(pages_expected,pages)
|
||||||
|
self.assertItemsEqual(hidden_pages_expected,hidden_pages)
|
||||||
|
|
||||||
|
|
||||||
class TestLessCSSGenerator(unittest.TestCase):
|
class TestLessCSSGenerator(unittest.TestCase):
|
||||||
|
|
||||||
LESS_CONTENT = """
|
LESS_CONTENT = """
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue