aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mammoth/html_generation.py5
-rw-r--r--tests/html_generation_tests.py9
2 files changed, 13 insertions, 1 deletions
diff --git a/mammoth/html_generation.py b/mammoth/html_generation.py
index 66f2719..a4d716e 100644
--- a/mammoth/html_generation.py
+++ b/mammoth/html_generation.py
@@ -74,7 +74,10 @@ def satisfy_html_path(generator, path):
generator.end()
for element in path.elements[first_unsatisfied_index:]:
- generator.start(element.names[0])
+ attributes = {}
+ if element.class_names:
+ attributes["class"] = " ".join(element.class_names)
+ generator.start(element.names[0], attributes=attributes)
def _find_first_unsatisfied_index(generator, path):
diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py
index 4322d69..c39f886 100644
--- a/tests/html_generation_tests.py
+++ b/tests/html_generation_tests.py
@@ -138,3 +138,12 @@ class SatisfyPathTests(object):
satisfy_html_path(generator, path)
generator.text("there")
assert_equal('<blockquote><p>Hello</p><p>there', generator.html_string())
+
+
+ @istest
+ 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())