package fitnesse.wikitext.parser; import fitnesse.html.HtmlElement; import org.junit.Test; import static org.junit.Assert.assertEquals; public class HtmlWriterTest { @Test public void writesSimpleTag() { HtmlWriter writer = new HtmlWriter(); writer.putTag("simple"); assertEquals("<simple />" + HtmlElement.endl, writer.toHtml()); } @Test public void startsAndEndsSimpleTag() { HtmlWriter writer = new HtmlWriter(); writer.startTag("simple"); writer.endTag(); assertEquals("<simple />" + HtmlElement.endl, writer.toHtml()); } @Test public void writesSimpleTagWithAttribute() { HtmlWriter writer = new HtmlWriter(); writer.startTag("simple"); writer.putAttribute("name", "value"); writer.endTag(); assertEquals("<simple name=\"value\" />" + HtmlElement.endl, writer.toHtml()); } @Test public void writesSimpleTagWithText() { HtmlWriter writer = new HtmlWriter(); writer.startTag("simple"); writer.putText("stuff"); writer.endTag(); assertEquals("<simple>stuff</simple>" + HtmlElement.endl, writer.toHtml()); } @Test public void writesNestedTag() { HtmlWriter writer = new HtmlWriter(); writer.startTag("parent"); writer.putTag("child"); writer.endTag(); assertEquals("<parent>" + HtmlElement.endl + "\t<child />" + HtmlElement.endl + "</parent>" + HtmlElement.endl, writer.toHtml()); } @Test public void writesMultipleNestedTags() { HtmlWriter writer = new HtmlWriter(); writer.startTag("parent"); writer.putTag("child"); writer.putTag("child"); writer.endTag(); assertEquals("<parent>" + HtmlElement.endl + "\t<child />" + HtmlElement.endl + "\t<child />" + HtmlElement.endl + "</parent>" + HtmlElement.endl, writer.toHtml()); } @Test public void writesNestedTagInline() { HtmlWriter writer = new HtmlWriter(); writer.startTag("parent"); writer.putTagInline("child"); writer.endTag(); assertEquals("<parent><child /></parent>" + HtmlElement.endl, writer.toHtml()); } @Test public void writesNestedTagWithAttribute() { HtmlWriter writer = new HtmlWriter(); writer.startTag("parent"); writer.putAttribute("name", "value"); writer.putTag("child"); writer.endTag(); assertEquals("<parent name=\"value\">" + HtmlElement.endl + "\t<child />" + HtmlElement.endl + "</parent>" + HtmlElement.endl, writer.toHtml()); } }