diff options
Diffstat (limited to 'tests/test_versioning.py')
-rw-r--r-- | tests/test_versioning.py | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/tests/test_versioning.py b/tests/test_versioning.py index bf2f65ee..bd8c697c 100644 --- a/tests/test_versioning.py +++ b/tests/test_versioning.py @@ -15,41 +15,47 @@ from docutils.parsers.rst.directives.html import MetaBody from sphinx import addnodes from sphinx.versioning import add_uids, merge_doctrees, get_ratio -from sphinx.util.pycompat import all -from util import test_root, TestApp +from util import TestApp app = original = original_uids = None + def setup_module(): global app, original, original_uids - app = TestApp() + app = TestApp(testroot='versioning') app.builder.env.app = app app.connect('doctree-resolved', on_doctree_resolved) app.build() - original = doctrees['versioning/original'] + original = doctrees['original'] original_uids = [n.uid for n in add_uids(original, is_paragraph)] + def teardown_module(): app.cleanup() - (test_root / '_build').rmtree(True) + doctrees = {} + def on_doctree_resolved(app, doctree, docname): doctrees[docname] = doctree + def is_paragraph(node): return node.__class__.__name__ == 'paragraph' + def test_get_ratio(): assert get_ratio('', 'a') assert get_ratio('a', '') + def test_add_uids(): assert len(original_uids) == 3 + def test_picklablility(): # we have to modify the doctree so we can pickle it copy = original.copy() @@ -63,44 +69,50 @@ def test_picklablility(): loaded = pickle.loads(pickle.dumps(copy, pickle.HIGHEST_PROTOCOL)) assert all(getattr(n, 'uid', False) for n in loaded.traverse(is_paragraph)) + def test_modified(): - modified = doctrees['versioning/modified'] + modified = doctrees['modified'] new_nodes = list(merge_doctrees(original, modified, is_paragraph)) uids = [n.uid for n in modified.traverse(is_paragraph)] assert not new_nodes assert original_uids == uids + def test_added(): - added = doctrees['versioning/added'] + added = doctrees['added'] new_nodes = list(merge_doctrees(original, added, is_paragraph)) uids = [n.uid for n in added.traverse(is_paragraph)] assert len(new_nodes) == 1 assert original_uids == uids[:-1] + def test_deleted(): - deleted = doctrees['versioning/deleted'] + deleted = doctrees['deleted'] new_nodes = list(merge_doctrees(original, deleted, is_paragraph)) uids = [n.uid for n in deleted.traverse(is_paragraph)] assert not new_nodes assert original_uids[::2] == uids + def test_deleted_end(): - deleted_end = doctrees['versioning/deleted_end'] + deleted_end = doctrees['deleted_end'] new_nodes = list(merge_doctrees(original, deleted_end, is_paragraph)) uids = [n.uid for n in deleted_end.traverse(is_paragraph)] assert not new_nodes assert original_uids[:-1] == uids + def test_insert(): - insert = doctrees['versioning/insert'] + insert = doctrees['insert'] new_nodes = list(merge_doctrees(original, insert, is_paragraph)) uids = [n.uid for n in insert.traverse(is_paragraph)] assert len(new_nodes) == 1 assert original_uids[0] == uids[0] assert original_uids[1:] == uids[2:] + def test_insert_beginning(): - insert_beginning = doctrees['versioning/insert_beginning'] + insert_beginning = doctrees['insert_beginning'] new_nodes = list(merge_doctrees(original, insert_beginning, is_paragraph)) uids = [n.uid for n in insert_beginning.traverse(is_paragraph)] assert len(new_nodes) == 1 @@ -108,8 +120,9 @@ def test_insert_beginning(): assert original_uids == uids[1:] assert original_uids[0] != uids[0] + def test_insert_similar(): - insert_similar = doctrees['versioning/insert_similar'] + insert_similar = doctrees['insert_similar'] new_nodes = list(merge_doctrees(original, insert_similar, is_paragraph)) uids = [n.uid for n in insert_similar.traverse(is_paragraph)] assert len(new_nodes) == 1 |