diff options
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()) |
