from __future__ import generators |
|
import py |
from py.__.rest.latex import process_configfile, process_rest_file |
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.data = py.magic.autopath().dirpath().join("data") |
|
class TestRst2Pdf(object): |
def _process_rest_file(self): |
data = py.magic.autopath().dirpath().join("data") |
part2 = data.join("part1.txt") |
pdf = part2.new(ext="pdf") |
process_rest_file(part2) |
assert pdf.check() |
pdf.remove() |
|
def _process_configfile(self): |
data = py.magic.autopath().dirpath().join("data") |
config = data.join("example.rst2pdfconfig") |
pdf = config.new(ext="pdf") |
tex = data.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): |
|
def rec(p): |
return p.check(dotfile=0) |
|
for x in data.visit("*.rst2pdfconfig", rec=rec): |
process_configfile(x) |
for x in data.visit("*.txt", rec=rec): |
process_rest_file(x) |
|
def test_rst2pdf(self): |
self._process_rest_file() |
self._process_configfile() |
self._process_all() |
|