mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
add test for TemplatePagesGenerator
This commit is contained in:
parent
54eee3f28a
commit
3734c48489
1 changed files with 47 additions and 1 deletions
|
|
@ -6,7 +6,9 @@ import re
|
||||||
from tempfile import mkdtemp
|
from tempfile import mkdtemp
|
||||||
from shutil import rmtree
|
from shutil import rmtree
|
||||||
|
|
||||||
from pelican.generators import ArticlesGenerator, LessCSSGenerator, PagesGenerator
|
from pelican.generators import ArticlesGenerator, LessCSSGenerator, \
|
||||||
|
PagesGenerator, TemplatePagesGenerator
|
||||||
|
from pelican.writers import Writer
|
||||||
from pelican.settings import _DEFAULT_CONFIG
|
from pelican.settings import _DEFAULT_CONFIG
|
||||||
from .support import unittest, skipIfNoExecutable
|
from .support import unittest, skipIfNoExecutable
|
||||||
|
|
||||||
|
|
@ -194,6 +196,50 @@ class TestPageGenerator(unittest.TestCase):
|
||||||
self.assertItemsEqual(hidden_pages_expected,hidden_pages)
|
self.assertItemsEqual(hidden_pages_expected,hidden_pages)
|
||||||
|
|
||||||
|
|
||||||
|
class TestTemplatePagesGenerator(unittest.TestCase):
|
||||||
|
|
||||||
|
TEMPLATE_CONTENT = "foo: {{ foo }}"
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.temp_content = mkdtemp()
|
||||||
|
self.temp_output = mkdtemp()
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
rmtree(self.temp_content)
|
||||||
|
rmtree(self.temp_output)
|
||||||
|
|
||||||
|
def test_generate_output(self):
|
||||||
|
|
||||||
|
settings = _DEFAULT_CONFIG.copy()
|
||||||
|
settings['STATIC_PATHS'] = ['static']
|
||||||
|
settings['TEMPLATE_PAGES'] = {
|
||||||
|
'template/source.html': 'generated/file.html'
|
||||||
|
}
|
||||||
|
|
||||||
|
generator = TemplatePagesGenerator({'foo': 'bar'}, settings,
|
||||||
|
self.temp_content, '', self.temp_output, None)
|
||||||
|
|
||||||
|
# create a dummy template file
|
||||||
|
template_dir = os.path.join(self.temp_content, 'template')
|
||||||
|
template_filename = os.path.join(template_dir, 'source.html')
|
||||||
|
os.makedirs(template_dir)
|
||||||
|
with open(template_filename, 'w') as template_file:
|
||||||
|
template_file.write(self.TEMPLATE_CONTENT)
|
||||||
|
|
||||||
|
writer = Writer(self.temp_output, settings=settings)
|
||||||
|
generator.generate_output(writer)
|
||||||
|
|
||||||
|
output_filename = os.path.join(
|
||||||
|
self.temp_output, 'generated', 'file.html')
|
||||||
|
|
||||||
|
# output file has been generated
|
||||||
|
self.assertTrue(os.path.exists(output_filename))
|
||||||
|
|
||||||
|
# output content is correct
|
||||||
|
with open(output_filename, 'r') as output_file:
|
||||||
|
self.assertEquals(output_file.read(), 'foo: bar')
|
||||||
|
|
||||||
|
|
||||||
class TestLessCSSGenerator(unittest.TestCase):
|
class TestLessCSSGenerator(unittest.TestCase):
|
||||||
|
|
||||||
LESS_CONTENT = """
|
LESS_CONTENT = """
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue