diff options
| -rw-r--r-- | mammoth/html_generation.py | 2 | ||||
| -rw-r--r-- | tests/html_generation_tests.py | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/mammoth/html_generation.py b/mammoth/html_generation.py index 90a1401..66f2719 100644 --- a/mammoth/html_generation.py +++ b/mammoth/html_generation.py @@ -79,7 +79,7 @@ def satisfy_html_path(generator, path): def _find_first_unsatisfied_index(generator, path): for index, (generated_element, path_element) in enumerate(zip(generator._stack, path.elements)): - if generated_element.name not in path_element.names: + if generated_element.name not in path_element.names or path_element.fresh: return index return len(generator._stack) diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py index 4a8a43c..4322d69 100644 --- a/tests/html_generation_tests.py +++ b/tests/html_generation_tests.py @@ -126,3 +126,15 @@ class SatisfyPathTests(object): satisfy_html_path(generator, path) generator.text("there") assert_equal('<blockquote><span>Hello</span><p>there', generator.html_string()) + + + @istest + def fresh_element_matches_nothing(self): + generator = HtmlGenerator() + 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.html_string()) |
