test_pdf.py
68 lines
| 2.0 KiB
| text/x-python
|
PythonLexer
Jonathan Frederic
|
r12045 | """ | ||
Module with tests for the PDF post-processor | ||||
""" | ||||
#----------------------------------------------------------------------------- | ||||
# Copyright (c) 2013, the IPython Development Team. | ||||
# | ||||
# Distributed under the terms of the Modified BSD License. | ||||
# | ||||
# The full license is in the file COPYING.txt, distributed with this software. | ||||
#----------------------------------------------------------------------------- | ||||
#----------------------------------------------------------------------------- | ||||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
import os | ||||
from IPython.testing import decorators as dec | ||||
from ...tests.base import TestsBase | ||||
from ..pdf import PDFPostProcessor | ||||
#----------------------------------------------------------------------------- | ||||
# Constants | ||||
#----------------------------------------------------------------------------- | ||||
HELLO_WORLD = r"""% hello.tex - Our first LaTeX example! | ||||
\documentclass{article} | ||||
\begin{document} | ||||
Hello World! | ||||
\end{document}""" | ||||
#----------------------------------------------------------------------------- | ||||
# Class | ||||
#----------------------------------------------------------------------------- | ||||
class TestPDF(TestsBase): | ||||
"""Contains test functions for pdf.py""" | ||||
Jonathan Frederic
|
r12046 | def test_constructor(self): | ||
Jonathan Frederic
|
r12045 | """Can a PDFPostProcessor be constructed?""" | ||
PDFPostProcessor() | ||||
@dec.onlyif_cmds_exist('pdflatex') | ||||
Jonathan Frederic
|
r12046 | def test_pdf(self): | ||
Jonathan Frederic
|
r12045 | """Can a PDF be made using the PDFPostProcessor?""" | ||
# Work in a temporary directory with hello world latex in it. | ||||
Jonathan Frederic
|
r12046 | with self.create_temp_cwd(): | ||
Jonathan Frederic
|
r12045 | with open('a.tex', 'w') as f: | ||
f.write(HELLO_WORLD) | ||||
# Construct post-processor | ||||
processor = PDFPostProcessor() | ||||
Jonathan Frederic
|
r12046 | processor.verbose = False | ||
Jonathan Frederic
|
r12045 | processor('a.tex') | ||
# Check that the PDF was created. | ||||
assert os.path.isfile('a.pdf') | ||||
Brian E. Granger
|
r12269 | |||
# Make sure that temp files are cleaned up | ||||
for ext in processor.temp_file_exts: | ||||
assert not os.path.isfile('a'+ext) | ||||