Initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
"""Tests for tinypages build using sphinx extensions."""
|
||||
|
||||
import filecmp
|
||||
from os.path import join as pjoin, dirname, isdir
|
||||
from subprocess import Popen, PIPE
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
pytest.importorskip('sphinx')
|
||||
|
||||
|
||||
def test_tinypages(tmpdir):
|
||||
html_dir = pjoin(str(tmpdir), 'html')
|
||||
doctree_dir = pjoin(str(tmpdir), 'doctrees')
|
||||
# Build the pages with warnings turned into errors
|
||||
cmd = [sys.executable, '-msphinx', '-W', '-b', 'html', '-d', doctree_dir,
|
||||
pjoin(dirname(__file__), 'tinypages'), html_dir]
|
||||
proc = Popen(cmd, stdout=PIPE, stderr=PIPE, universal_newlines=True)
|
||||
out, err = proc.communicate()
|
||||
assert proc.returncode == 0, \
|
||||
"sphinx build failed with stdout:\n{}\nstderr:\n{}\n".format(out, err)
|
||||
if err:
|
||||
pytest.fail("sphinx build emitted the following warnings:\n{}"
|
||||
.format(err))
|
||||
|
||||
assert isdir(html_dir)
|
||||
|
||||
def plot_file(num):
|
||||
return pjoin(html_dir, 'some_plots-{0}.png'.format(num))
|
||||
|
||||
range_10, range_6, range_4 = [plot_file(i) for i in range(1, 4)]
|
||||
# Plot 5 is range(6) plot
|
||||
assert filecmp.cmp(range_6, plot_file(5))
|
||||
# Plot 7 is range(4) plot
|
||||
assert filecmp.cmp(range_4, plot_file(7))
|
||||
# Plot 11 is range(10) plot
|
||||
assert filecmp.cmp(range_10, plot_file(11))
|
||||
# Plot 12 uses the old range(10) figure and the new range(6) figure
|
||||
assert filecmp.cmp(range_10, plot_file('12_00'))
|
||||
assert filecmp.cmp(range_6, plot_file('12_01'))
|
||||
# Plot 13 shows close-figs in action
|
||||
assert filecmp.cmp(range_4, plot_file(13))
|
||||
# Plot 14 has included source
|
||||
with open(pjoin(html_dir, 'some_plots.html'), 'rb') as fobj:
|
||||
html_contents = fobj.read()
|
||||
assert b'# Only a comment' in html_contents
|
||||
# check plot defined in external file.
|
||||
assert filecmp.cmp(range_4, pjoin(html_dir, 'range4.png'))
|
||||
assert filecmp.cmp(range_6, pjoin(html_dir, 'range6.png'))
|
||||
# check if figure caption made it into html file
|
||||
assert b'This is the caption for plot 15.' in html_contents
|
||||
Reference in New Issue
Block a user