diff options
| -rw-r--r-- | mammoth/transforms.py | 4 | ||||
| -rw-r--r-- | tests/transforms_tests.py | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/mammoth/transforms.py b/mammoth/transforms.py index 649b4db..62bfc1f 100644 --- a/mammoth/transforms.py +++ b/mammoth/transforms.py @@ -5,6 +5,10 @@ def paragraph(transform_paragraph): return element_of_type(documents.Paragraph, transform_paragraph) +def run(transform_run): + return element_of_type(documents.Run, transform_run) + + def element_of_type(element_type, transform): def transform_element(element): if isinstance(element, element_type): diff --git a/tests/transforms_tests.py b/tests/transforms_tests.py index 2c1678f..d0604f8 100644 --- a/tests/transforms_tests.py +++ b/tests/transforms_tests.py @@ -21,6 +21,21 @@ class ParagraphTests(object): @istest +class RunTests(object): + @istest + def run_is_transformed(self): + run = documents.run(children=[]) + result = transforms.run(lambda _: documents.tab())(run) + assert_equal(documents.tab(), result) + + @istest + def non_paragraph_elements_are_not_transformed(self): + paragraph = documents.paragraph(children=[]) + result = transforms.run(lambda _: documents.tab())(paragraph) + assert_equal(documents.paragraph(children=[]), result) + + +@istest class EachElementTests(object): @istest def all_descendants_are_transformed(self): |
