diff options
| author | Michael Williamson <mike@zwobble.org> | 2013-12-14 14:49:21 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2013-12-14 14:49:21 +0000 |
| commit | 77366b64e5a04da3cd501e57b43692b3f19f14c0 (patch) | |
| tree | d13b6653816ad414d121ff2d5d733d6e3d33bb1f | |
| parent | 57b2e3bf407bf82e2b0f5582e8e8f13569882635 (diff) | |
Add initial HTML generator
| -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()) |
