def test_render_tag_start(self): tag_node = TagNode("%li") tag_node.add_child(TextNode("I'm a list item")) indent = 4 tag_name = "li" remainder = "I'm a list item" attrs = "" rendered = tag_node._render_tag_start({}, indent, tag_name, attrs, remainder) self.assertEqual(rendered, "\n <li>I'm a list item")
def test_handle_shortcuts(self): tag_node = TagNode("%dummy") tag_string = "div#title.big.boxed" attrs = [("style", "float: left;")] name, attrs = tag_node._handle_shortcuts(tag_string, attrs) self.assertEqual(name, "div") self.assertEqual(attrs, [("style", "float: left;"), ("class", "big boxed"), ("id", "title")]) tag_string = "span.field-note" attrs = [] name, attrs = tag_node._handle_shortcuts(tag_string, attrs) self.assertEqual(name, "span") self.assertEqual(attrs, [("class", "field-note")])
def test_parse_tag(self): line = "%a(href: 'bar', target: '_blank')= foo" tag_node = TagNode(line) self.assertEqual(tag_node._parse_tag(), ("a", "href: 'bar', target: '_blank'", True, "foo"))
def test_parse_attrs(self): attrs = "href: 'bar', target: \"foo\"" tag_node = TagNode("%dummy") self.assertEqual(tag_node._parse_attrs(attrs), [("href", "bar"), ("target", "foo")])
def test_render_tag_end(self): tag_node = TagNode("%dummy") self.assertEqual(tag_node._render_tag_end(one_line=True), " />") self.assertEqual(tag_node._render_tag_end(one_line=False), ">")