From 77366b64e5a04da3cd501e57b43692b3f19f14c0 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 14 Dec 2013 14:49:21 +0000 Subject: Add initial HTML generator --- mammoth/html_generation.py | 17 +++++++++++++++++ tests/html_generation_tests.py | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 mammoth/html_generation.py create mode 100644 tests/html_generation_tests.py 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()) -- cgit v1.2.3