varia.website/plugins/pdf/test_pdf.py

49 lines
1.5 KiB
Python

import unittest
import os
import locale
import logging
import pdf
from tempfile import mkdtemp
from pelican import Pelican
from pelican.readers import MarkdownReader
from pelican.settings import read_settings
from shutil import rmtree
CUR_DIR = os.path.dirname(__file__)
class TestPdfGeneration(unittest.TestCase):
def setUp(self, override=None):
self.temp_path = mkdtemp(prefix='pelicantests.')
settings = {
'PATH': os.path.join(os.path.dirname(CUR_DIR), '..', 'test_data',
'content'),
'OUTPUT_PATH': self.temp_path,
'PLUGINS': [pdf],
'LOCALE': locale.normalize('en_US'),
}
if override:
settings.update(override)
self.settings = read_settings(override=settings)
pelican = Pelican(settings=self.settings)
try:
pelican.run()
except ValueError:
logging.warn('Relative links in the form of ' +
'|filename|images/test.png are not yet handled by ' +
' the pdf generator')
pass
def tearDown(self):
rmtree(self.temp_path)
def test_existence(self):
assert os.path.exists(os.path.join(self.temp_path, 'pdf',
'this-is-a-super-article.pdf'))
if MarkdownReader.enabled:
assert os.path.exists(os.path.join(self.temp_path, 'pdf',
'a-markdown-powered-article.pdf'))