##// END OF EJS Templates
capture rich output as well as stdout/err in capture_output...
capture rich output as well as stdout/err in capture_output closes #3742

File last commit:

r12046:4bcde19b
r12223:e10d2ee4
Show More
test_pdf.py
64 lines | 1.9 KiB | text/x-python | PythonLexer
"""
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"""
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()
processor.verbose = False
processor('a.tex')
# Check that the PDF was created.
assert os.path.isfile('a.pdf')