"""Test the ChangesBuilder class."""
import pytest
@pytest.mark.sphinx('changes', testroot='changes')
def test_build(app):
app.build()
# TODO: Use better checking of html content
htmltext = (app.outdir / 'changes.html').read_text(encoding='utf8')
assert 'New in version 0.6: Some funny stuff.' in htmltext
assert 'Changed in version 0.6: Even more funny stuff.' in htmltext
assert 'Deprecated since version 0.6: Boring stuff.' in htmltext
path_html = (
'Path: deprecated: Deprecated since version 0.6:'
' So, that was a bad idea it turns out.')
assert path_html in htmltext
malloc_html = (
'void *Test_Malloc(size_t n): changed: Changed in version 0.6:'
' Can now be replaced with a different allocator.')
assert malloc_html in htmltext
@pytest.mark.sphinx(
'changes', testroot='changes', srcdir='changes-none',
confoverrides={'version': '0.7', 'release': '0.7b1'})
def test_no_changes(app, status):
app.build()
assert 'no changes in version 0.7.' in status.getvalue()
assert not (app.outdir / 'changes.html').exists()