diff options
| -rw-r--r-- | mammoth/html_generation.py | 17 | ||||
| -rw-r--r-- | tests/html_generation_tests.py | 16 |
2 files changed, 33 insertions, 0 deletions
diff --git a/mammoth/html_generation.py b/mammoth/html_generation.py new file mode 100644 index 0000000..eb68266 --- /dev/null +++ b/mammoth/html_generation.py @@ -0,0 +1,17 @@ +import cgi + + +class HtmlGenerator(object): + def __init__(self): + self._fragments = [] + + def text(self, text): + self._fragments.append(_escape_html(text)) + + + def html_string(self): + return "".join(self._fragments) + + +def _escape_html(text): + return cgi.escape(text, quote=True) diff --git a/tests/html_generation_tests.py b/tests/html_generation_tests.py new file mode 100644 index 0000000..68034d9 --- /dev/null +++ b/tests/html_generation_tests.py @@ -0,0 +1,16 @@ +from nose.tools import istest, assert_equal + +from mammoth.html_generation import HtmlGenerator + + +@istest +def generates_empty_string_when_newly_created(): + generator = HtmlGenerator() + assert_equal("", generator.html_string()) + + +@istest +def html_escapes_text(): + generator = HtmlGenerator() + generator.text("<") + assert_equal("<", generator.html_string()) |
