Mercurial > wikked
changeset 228:1ef50117ec58
Added test for the `PageFormatter`.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 13 Mar 2014 21:46:14 -0700 |
parents | 6457416ac7d7 |
children | c1a814628461 |
files | tests/test_formatter.py |
diffstat | 1 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_formatter.py Thu Mar 13 21:46:14 2014 -0700 @@ -0,0 +1,36 @@ +import pytest +from wikked.formatter import PageFormatter, FormattingContext +from tests import format_link, format_include + + +@pytest.mark.parametrize('in_text, text, meta, links', [ + ( + "Something.\nThat's it.\n", + "Something.\nThat's it.\n", + None, None), + ( + "Some meta.\n\n{{foo: Whatever man}}\n", + "Some meta.\n\n", + {'foo': ["Whatever man"]}, None), + ( + "Some multi-meta.\n\n{{foo: First}}\n{{foo: Second}}\n", + "Some multi-meta.\n\n\n", + {'foo': ["First", "Second"]}, None), + ( + "Multi-line meta:\n\n{{foo: This is a\n multi-line meta\n}}\n", + "Multi-line meta:\n\n", + {'foo': ["This is a\n multi-line meta"]}, None) + ]) +def test_formatter(in_text, text, meta, links): + f = PageFormatter() + ctx = FormattingContext('/foo') + actual = f.formatText(ctx, in_text) + assert actual == text + if meta: + assert ctx.meta == meta + else: + assert ctx.meta == {} + if links: + assert ctx.out_links == links + else: + assert ctx.out_links == []