diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-14 15:28:03 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-14 15:28:03 +0000 |
| commit | 8cf77f91fa81823af6c84ed7ca97a3a21dc89d6b (patch) | |
| tree | 6713bc4871635c34605f8fb79a84237dc97004a0 /tests | |
| parent | 841de73928538038496f15467aba9001b47a2d9c (diff) | |
Generate HTML to satisfy HTML paths
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/html_generation_tests.py | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py index f32b713..4a8a43c 100644 --- a/tests/html_generation_tests.py +++ b/tests/html_generation_tests.py @@ -1,6 +1,7 @@ from nose.tools import istest, assert_equal -from mammoth.html_generation import HtmlGenerator +from mammoth.html_generation import HtmlGenerator, satisfy_html_path +from mammoth import html_paths @istest @@ -91,3 +92,37 @@ def appending_another_html_generator_writes_out_elements_if_other_generator_is_n other.text("Hello!") generator.append(other) assert_equal('<p>Hello!', generator.html_string()) + + +@istest +class SatisfyPathTests(object): + @istest + def plain_elements_are_generated_to_satisfy_plain_path_elements(self): + generator = HtmlGenerator() + path = html_paths.path([html_paths.element(["p"])]) + satisfy_html_path(generator, path) + generator.text("Hello!") + assert_equal('<p>Hello!', generator.html_string()) + + + @istest + def only_missing_elements_are_generated_to_satisfy_plain_path_elements(self): + generator = HtmlGenerator() + generator.start("blockquote") + generator.text("Hello") + path = html_paths.path([html_paths.element(["blockquote"]), html_paths.element(["p"])]) + satisfy_html_path(generator, path) + generator.text("there") + assert_equal('<blockquote>Hello<p>there', generator.html_string()) + + + @istest + def mismatched_elements_are_closed_to_satisfy_plain_path_elements(self): + generator = HtmlGenerator() + generator.start("blockquote") + generator.start("span") + generator.text("Hello") + path = html_paths.path([html_paths.element(["blockquote"]), html_paths.element(["p"])]) + satisfy_html_path(generator, path) + generator.text("there") + assert_equal('<blockquote><span>Hello</span><p>there', generator.html_string()) |
