package org.easyrec.taglib; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.unitils.UnitilsJUnit4TestClassRunner; import org.xml.sax.SAXException; import javax.xml.parsers.ParserConfigurationException; import java.io.IOException; import static org.junit.Assert.assertEquals; /** * Unit test for simple App. */ @RunWith(UnitilsJUnit4TestClassRunner.class) public class ProfileRendererTest { protected ProfileRenderer profileRenderer = new ProfileRenderer(); private final Log logger = LogFactory.getLog(this.getClass()); private String singleLayerProfileXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><profile><description>Description stored as a profile. Plus an additional sentence.</description><name>profileItem</name></profile>"; private String multiLayerProfileXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><profile><description>Description stored as a profile. Plus an additional sentence.</description><genre>ROCK</genre><genre>POP</genre></profile>"; private String multiLayerDeepProfileXML = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><profile><description>Description stored as a profile. Plus an additional sentence.</description><genres><genre>ROCK</genre><genre>POP</genre></genres></profile>"; @Test public void singleLayer() throws IOException, SAXException, ParserConfigurationException { String profileHTML = profileRenderer.getListViewHTML(singleLayerProfileXML); assertEquals("<dl><dt>description:</dt><dd>Description stored as a profile. Plus an additional sentence.</dd><dt>name:</dt><dd>profileItem</dd></dl>", profileHTML); } @Test public void multiLayer() throws IOException, SAXException, ParserConfigurationException { String profileHTML = profileRenderer.getListViewHTML(multiLayerProfileXML); assertEquals("<dl><dt>description:</dt><dd>Description stored as a profile. Plus an additional sentence.</dd><dt>genre:</dt><dd>ROCK</dd><dt>genre:</dt><dd>POP</dd></dl>", profileHTML); } @Test public void multiLayerDeep() throws IOException, SAXException, ParserConfigurationException { String profileHTML = profileRenderer.getListViewHTML(multiLayerDeepProfileXML); assertEquals("<dl><dt>description:</dt><dd>Description stored as a profile. Plus an additional sentence.</dd><dt>genres:</dt><dd><dl><dt>genre:</dt><dd>ROCK</dd><dt>genre:</dt><dd>POP</dd></dl></dd></dl>", profileHTML); } }