|
|
"""
|
|
|
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 logging
|
|
|
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"""
|
|
|
|
|
|
|
|
|
def test_constructor(self):
|
|
|
"""Can a PDFPostProcessor be constructed?"""
|
|
|
PDFPostProcessor()
|
|
|
|
|
|
|
|
|
@dec.onlyif_cmds_exist('pdflatex')
|
|
|
def test_pdf(self):
|
|
|
"""Can a PDF be made using the PDFPostProcessor?"""
|
|
|
|
|
|
# Work in a temporary directory with hello world latex in it.
|
|
|
with self.create_temp_cwd():
|
|
|
with open('a.tex', 'w') as f:
|
|
|
f.write(HELLO_WORLD)
|
|
|
|
|
|
# Construct post-processor
|
|
|
processor = PDFPostProcessor(log=logging.getLogger())
|
|
|
processor.verbose = False
|
|
|
processor('a.tex')
|
|
|
|
|
|
# Check that the PDF was created.
|
|
|
assert os.path.isfile('a.pdf')
|
|
|
|
|
|
# Make sure that temp files are cleaned up
|
|
|
for ext in processor.temp_file_exts:
|
|
|
assert not os.path.isfile('a'+ext)
|
|
|
|