Files
pytest2/py/rest/testing/test_rst2pdf.py
hpk 4115e975d1 [svn r57429] merging/porting the release branch changes and
cleanups to trunk.

svn merge -r 56716:HEAD ../release/0.9.x/ to trunk

--HG--
branch : trunk
2008-08-18 17:08:39 +02:00

57 lines
1.6 KiB
Python

from __future__ import generators
import py
from py.__.rest.latex import process_configfile, process_rest_file
from py.__.rest.testing.setup import getdata
try:
import docutils
except ImportError:
py.test.skip("docutils not present")
def setup_module(mod):
if not py.path.local.sysfind("gs") or \
not py.path.local.sysfind("dot") or \
not py.path.local.sysfind("latex"):
py.test.skip("ghostscript, graphviz and latex needed")
mod.datadir = getdata()
class TestRst2Pdf(object):
def _process_rest_file(self):
part2 = datadir.join("part1.txt")
pdf = part2.new(ext="pdf")
process_rest_file(part2)
assert pdf.check()
pdf.remove()
def _process_configfile(self):
config = datadir.join("example.rst2pdfconfig")
pdf = config.new(ext="pdf")
tex = datadir.join('example.tex')
process_configfile(config, debug=True)
assert pdf.check()
assert tex.check()
texcontent = tex.read()
assert "Generated by" in texcontent
assert "Docutils" in texcontent
process_configfile(config, debug=False)
assert pdf.check()
assert not tex.check()
pdf.remove()
def _process_all(self):
# fallback test: only checks that no exception is raised
def rec(p):
return p.check(dotfile=0)
for x in datadir.visit("*.rst2pdfconfig", rec=rec):
process_configfile(x)
for x in datadir.visit("*.txt", rec=rec):
process_rest_file(x)
def test_rst2pdf(self):
self._process_rest_file()
self._process_configfile()
self._process_all()