Exemple #1
0
    def test_basic(self):
        doc = HtmlDocument()
        with doc.head():
            doc.title("das title")
            doc.link(rel = "foobar", type="text/css")
        
        with doc.body():
            with doc.h1(class_="the_header"):
                doc.text("hello", "world")
            with doc.p():
                doc.text("i am a para&graph\nwith newl<i>nes")
                doc.raw("&nbsp;")
                doc.attrs(data_role = "description")
        
        self.assertEquals(doc.render("    "), """\
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>das title</title>
        <link type="text/css" rel="foobar"/>
    </head>
    <body>
        <h1 class="the_header">helloworld</h1>
        <p data-role="description">
            i am a para&amp;graph
with newl&lt;i&gt;nes&nbsp;
        </p>
    </body>
</html>""")
Exemple #2
0
    def test_js(self):
        doc = HtmlDocument()
        with doc.head():
            doc.title("das title")
            with doc.script():
                m = JS()
                with m.func("onclick", "self"):
                    m.stmt("alert('oh no')")
                    with m.if_("self > 'foo'"):
                        m.return_(17)
                    with m.else_():
                        m.return_(18)
                doc.text(m)

        with doc.body():
            with doc.div():
                pass
        
        self.assertEquals(doc.render("    "), """\
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>das title</title>
        <script type="text/javascript">
            function onclick(self) {
                alert(&apos;oh no&apos;);
                if (self &gt; &apos;foo&apos;) {
                    return 17;
                }
                else {
                    return 18;
                }
            }
        </script>
    </head>
    <body>
        <div/>
    </body>
</html>""")