package de.neuland.jade4j.parser.node; import static org.junit.Assert.*; import org.junit.Before; import org.junit.Test; import de.neuland.jade4j.Jade4J; import de.neuland.jade4j.parser.node.TagNode; import de.neuland.jade4j.template.JadeTemplate; public class TagNodeTest { private TagNode tagNode; private JadeTemplate template; private String[] selfClosing = { "meta", "img", "link", "input", "area", "base", "col", "br", "hr", "source" }; private String[] notSelfClosing = { "div", "table", "span" }; @Before public void setup() { tagNode = new TagNode(); template = new JadeTemplate(); template.setMode(Jade4J.Mode.XHTML); } @Test public void testThatTagNodeIsTerse() { template.setMode(Jade4J.Mode.HTML); for (int i = 0; i < selfClosing.length; i++) { tagNode.setName(selfClosing[i]); assertTrue(tagNode.isTerse(template)); } } @Test public void testThatTagNodeIsNotSelfclosingIfTheTagIsNotSelfclosing() { template.setMode(Jade4J.Mode.HTML); for (int i = 0; i < notSelfClosing.length; i++) { tagNode.setName(notSelfClosing[i]); assertFalse(tagNode.isTerse(template)); } } @Test public void testThatTagNodeIsNotTerseIfTempalteSettingIsNotTerse() { template.setMode(Jade4J.Mode.XHTML); for (int i = 0; i < selfClosing.length; i++) { tagNode.setName(selfClosing[i]); assertFalse(tagNode.isTerse(template)); } } @Test public void testThatTagNodeIsSelfClosing() { for (int i = 0; i < selfClosing.length; i++) { tagNode.setName(selfClosing[i]); assertTrue(tagNode.isSelfClosing(template)); } } @Test public void testThatTagNodeIsNotSelfClosingIfXmlDoctype() { template.setMode(Jade4J.Mode.XML); for (int i = 0; i < selfClosing.length; i++) { tagNode.setName(selfClosing[i]); assertFalse(tagNode.isSelfClosing(template)); } } @Test public void testThatTagNodeIsNotSelfClosingIfNotSelfClosingtag() { for (int i = 0; i < notSelfClosing.length; i++) { tagNode.setName(notSelfClosing[i]); assertFalse(tagNode.isSelfClosing(template)); } } }