def attributes_are_generated_when_satisfying_elements(self): generator = HtmlGenerator() path = html_paths.path( [html_paths.element(["p"], class_names=["tip"])]) satisfy_html_path(generator, path) generator.text("Hello") assert_equal('<p class="tip">Hello', generator.html_string())
def class_names_match_if_they_are_the_same(self): 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 elements_do_not_match_if_class_names_do_not_match(self): generator = _create_html_generator() generator.start("p", {"class": "help"}) 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="help">Help</p><p class="tip">Tip', generator.as_string())
def only_missing_elements_are_generated_to_satisfy_plain_path_elements(self): generator = _create_html_generator() 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.as_string())
def no_elements_are_generated_if_all_path_elements_are_already_satisfied(self): generator = _create_html_generator() generator.start("p") generator.text("Hello") path = html_paths.path([html_paths.element(["p"])]) satisfy_html_path(generator, path) generator.text("there") assert_equal('<p>Hellothere', generator.as_string())
def fresh_element_matches_nothing(self): generator = _create_html_generator() generator.start("blockquote") generator.start("p") generator.text("Hello") path = html_paths.path([html_paths.element(["blockquote"]), html_paths.element(["p"], fresh=True)]) satisfy_html_path(generator, path) generator.text("there") assert_equal('<blockquote><p>Hello</p><p>there', generator.as_string())
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())
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())
def plain_elements_are_generated_to_satisfy_plain_path_elements(self): generator = _create_html_generator() path = html_paths.path([html_paths.element(["p"])]) satisfy_html_path(generator, path) generator.text("Hello!") assert_equal('<p>Hello!', generator.as_string())
def attributes_are_generated_when_satisfying_elements(self): generator = _create_html_generator() path = html_paths.path([html_paths.element(["p"], class_names=["tip"])]) satisfy_html_path(generator, path) generator.text("Hello") assert_equal('<p class="tip">Hello', generator.as_string())