diff options
Diffstat (limited to 'tests/html_generation_tests.py')
| -rw-r--r-- | tests/html_generation_tests.py | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py index e715bdf..ccb0e7e 100644 --- a/tests/html_generation_tests.py +++ b/tests/html_generation_tests.py @@ -1,32 +1,32 @@ from nose.tools import istest, assert_equal from mammoth.html_generation import HtmlGenerator, satisfy_html_path -from mammoth import html_paths +from mammoth import html_paths, writers @istest def generates_empty_string_when_newly_created(): - generator = HtmlGenerator() + generator = _create_html_generator() assert_equal("", generator.as_string()) @istest def html_escapes_text(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.text("<") assert_equal("<", generator.as_string()) @istest def self_closing_tag_is_self_closing(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.self_closing("br") assert_equal("<br />", generator.as_string()) @istest def all_elements_are_closed_by_end_all(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p") generator.start("span") generator.text("Hello!") @@ -36,7 +36,7 @@ def all_elements_are_closed_by_end_all(): @istest def elements_with_no_text_are_not_generator(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p") generator.start("span") generator.end_all() @@ -45,7 +45,7 @@ def elements_with_no_text_are_not_generator(): @istest def elements_with_empty_string_text_are_not_generator(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p") generator.start("span") generator.text("") @@ -55,21 +55,21 @@ def elements_with_empty_string_text_are_not_generator(): @istest def self_closing_tag_can_have_attributes(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.self_closing("br", {"data-blah": "42"}) assert_equal('<br data-blah="42" />', generator.as_string()) @istest def attribute_values_are_escaped(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.self_closing("br", {"data-blah": "<"}) assert_equal('<br data-blah="<" />', generator.as_string()) @istest def opening_tag_can_have_attributes(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p", {"data-blah": "42"}) generator.text("Hello!") generator.end() @@ -78,17 +78,17 @@ def opening_tag_can_have_attributes(): @istest def appending_another_html_generator_does_nothing_if_empty(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p") - generator.append(HtmlGenerator()) + generator.append(_create_html_generator()) assert_equal('', generator.as_string()) @istest def appending_another_html_generator_writes_out_elements_if_other_generator_is_not_empty(): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p") - other = HtmlGenerator() + other = _create_html_generator() other.text("Hello!") generator.append(other) assert_equal('<p>Hello!', generator.as_string()) @@ -98,7 +98,7 @@ def appending_another_html_generator_writes_out_elements_if_other_generator_is_n class SatisfyPathTests(object): @istest def plain_elements_are_generated_to_satisfy_plain_path_elements(self): - generator = HtmlGenerator() + generator = _create_html_generator() path = html_paths.path([html_paths.element(["p"])]) satisfy_html_path(generator, path) generator.text("Hello!") @@ -107,7 +107,7 @@ class SatisfyPathTests(object): @istest def only_missing_elements_are_generated_to_satisfy_plain_path_elements(self): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("blockquote") generator.text("Hello") path = html_paths.path([html_paths.element(["blockquote"]), html_paths.element(["p"])]) @@ -118,7 +118,7 @@ class SatisfyPathTests(object): @istest def mismatched_elements_are_closed_to_satisfy_plain_path_elements(self): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("blockquote") generator.start("span") generator.text("Hello") @@ -130,7 +130,7 @@ class SatisfyPathTests(object): @istest def fresh_element_matches_nothing(self): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("blockquote") generator.start("p") generator.text("Hello") @@ -142,7 +142,7 @@ class SatisfyPathTests(object): @istest def attributes_are_generated_when_satisfying_elements(self): - generator = HtmlGenerator() + generator = _create_html_generator() path = html_paths.path([html_paths.element(["p"], class_names=["tip"])]) satisfy_html_path(generator, path) generator.text("Hello") @@ -151,7 +151,7 @@ class SatisfyPathTests(object): @istest def elements_do_not_match_if_class_names_do_not_match(self): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p", {"class": "help"}) generator.text("Help") path = html_paths.path([html_paths.element(["p"], class_names=["tip"])]) @@ -162,10 +162,14 @@ class SatisfyPathTests(object): @istest def class_names_match_if_they_are_the_same(self): - generator = HtmlGenerator() + generator = _create_html_generator() generator.start("p", {"class": "tip"}) generator.text("Help") path = html_paths.path([html_paths.element(["p"], class_names=["tip"])]) satisfy_html_path(generator, path) generator.text("Tip") assert_equal('<p class="tip">HelpTip', generator.as_string()) + + +def _create_html_generator(): + return HtmlGenerator(writers.writer) |
