Пример #1
0
    def test_tag(self):
        """
        <b>
            HelloWorld
        </b>
        """
        pxml = PXML(4)
        with pxml.tag("b"):
            pxml.indent().insert("HelloWorld").newline()
        self.assertEqual(["<b>", "\n", "    ", "HelloWorld", "\n", "</b>", "\n"], pxml.raw)
        self.assertEqual("<b>\n    HelloWorld\n</b>\n", str(pxml))

        """
        <b>
            <i>
                HelloWorld
            </i>
        </b>
        """
        pxml = PXML(4)
        with pxml.tag("b"):
            with pxml.tag("i"):
                pxml.indent().insert("HelloWorld").newline()
        self.assertEqual(["<b>", "\n", "    ", "<i>", "\n", "        ", "HelloWorld", "\n", "    ", "</i>", "\n", "</b>", "\n"], pxml.raw)
        self.assertEqual("<b>\n    <i>\n        HelloWorld\n    </i>\n</b>\n", str(pxml))

        """
        <b>
            <i>
                <u>
                    HelloWorld
                </u>
            </i>
        </b>
        """
        pxml = PXML(4)
        with pxml.tag("b"):
            with pxml.tag("i"):
                with pxml.tag("u"):
                    pxml.indent().insert("HelloWorld").newline()
        self.assertEqual(["<b>", "\n", "    ", "<i>", "\n", "        ", "<u>", "\n", "            ", "HelloWorld", "\n", "        ", "</u>", "\n", "    ", "</i>", "\n", "</b>", "\n"], pxml.raw)
        self.assertEqual("<b>\n    <i>\n        <u>\n            HelloWorld\n        </u>\n    </i>\n</b>\n", str(pxml))

        """
        <b>
            Hello
        </b>
        <b>
            World
        </b>
        """
        pxml = PXML(4)
        with pxml.tag("b"):
            pxml.indent().insert("Hello").newline()
        with pxml.tag("b"):
            pxml.indent().insert("World").newline()
        self.assertEqual(["<b>", "\n", "    ", "Hello", "\n", "</b>", "\n", "<b>", "\n", "    ", "World", "\n", "</b>", "\n"], pxml.raw)
        self.assertEqual("<b>\n    Hello\n</b>\n<b>\n    World\n</b>\n", str(pxml))

        """
        <span id="Hello">
            Hello
        </span>
        """
        pxml = PXML(4)
        with pxml.tag("span", [("id", "Hello")]):
            pxml.indent().insert("Hello").newline()
        self.assertEqual(['<span id="Hello">', "\n", "    ", "Hello", "\n", "</span>", "\n"], pxml.raw)
        self.assertEqual('<span id="Hello">\n    Hello\n</span>\n', str(pxml))

        """
        <span id="Hello">
            <span id="World">
                HelloWorld
            </span>
        </span>
        """
        pxml = PXML(4)
        with pxml.tag("span", [("id", "Hello")]):
            with pxml.tag("span", [("id", "World")]):
                pxml.indent().insert("HelloWorld").newline()
        self.assertEqual(['<span id="Hello">', "\n", "    ", '<span id="World">', "\n", "        ", "HelloWorld", "\n", "    ", "</span>", "\n", "</span>", "\n"], pxml.raw)
        self.assertEqual('<span id="Hello">\n    <span id="World">\n        HelloWorld\n    </span>\n</span>\n', str(pxml))