3.1 --- a/tests/test_macros.txt Mon Aug 13 22:52:54 2018 +0200
3.2 +++ b/tests/test_macros.txt Mon Aug 13 22:54:01 2018 +0200
3.3 @@ -2,7 +2,7 @@
3.4
3.5 = Heading =
3.6
3.7 -Some text.
3.8 +Some text. <<TableOfContents(2)>> And more.
3.9
3.10 == Subheading ==
3.11
4.1 --- a/tests/test_parser.py Mon Aug 13 22:52:54 2018 +0200
4.2 +++ b/tests/test_parser.py Mon Aug 13 22:54:01 2018 +0200
4.3 @@ -17,7 +17,7 @@
4.4
4.5 # Import specific objects.
4.6
4.7 -from moinformat import make_input, make_output, make_serialiser, parse, serialise
4.8 +from moinformat import make_input, make_output, make_parser, make_serialiser, parse, serialise
4.9 from moinformat.tree.moin import Container
4.10
4.11 def test_input(d, s):
4.12 @@ -171,6 +171,16 @@
4.13
4.14 return branches[0]
4.15
4.16 +def get_tree(input, tree_filename):
4.17 +
4.18 + "Using 'input', return (text, tree) for 'tree_filename'."
4.19 +
4.20 + if input.dir.exists(tree_filename):
4.21 + ts = input.readfile(tree_filename)
4.22 + return ts, parse_tree(ts)
4.23 + else:
4.24 + return None, None
4.25 +
4.26 if __name__ == "__main__":
4.27 args = sys.argv[1:]
4.28
4.29 @@ -201,20 +211,20 @@
4.30 text_filename = filename
4.31 encoding = None
4.32
4.33 - tree_filename = "%s.tree" % text_filename.rsplit(".", 1)[0]
4.34 + basename = text_filename.rsplit(".", 1)[0]
4.35 + tree_filename = "%s.tree" % basename
4.36 + tree_exp_filename = "%s.tree-exp" % basename
4.37
4.38 # Read and parse the input.
4.39
4.40 s = input.readfile(text_filename, encoding)
4.41 - d = parse(s)
4.42 -
4.43 - # Read and parse any tree definition.
4.44 + p = make_parser()
4.45 + d = parse(s, p)
4.46
4.47 - if input.dir.exists(tree_filename):
4.48 - ts = input.readfile(tree_filename)
4.49 - t = parse_tree(ts)
4.50 - else:
4.51 - ts = None
4.52 + # Read and parse any tree definitions.
4.53 +
4.54 + ts, t = get_tree(input, tree_filename)
4.55 + tsexp, texp = get_tree(input, tree_exp_filename)
4.56
4.57 # Report the test results.
4.58
4.59 @@ -224,7 +234,13 @@
4.60 identical = test_input(d, s)
4.61 tree_identical = ts and test_tree(d, t, ts)
4.62
4.63 + if tsexp:
4.64 + p.evaluate_macros()
4.65 + tree_exp_identical = test_tree(d, texp, tsexp)
4.66 + else:
4.67 + tree_exp_identical = None
4.68 +
4.69 if quiet:
4.70 - print "%s %s: %s" % (identical, tree_identical, filename)
4.71 + print "%s %s %s: %s" % (identical, tree_identical, tree_exp_identical, filename)
4.72
4.73 # vim: tabstop=4 expandtab shiftwidth=4