Java tutorial
/** * This file is part of the ChillDev-Web. * * @license http://mit-license.org/ The MIT license * @copyright 2014 by Rafa Wrzeszcz - Wrzasq.pl. */ package test.pl.chilldev.web.tags.context; import org.junit.Test; import static org.junit.Assert.*; import javax.servlet.jsp.JspContext; import org.apache.commons.lang3.StringEscapeUtils; import org.springframework.mock.web.MockPageContext; import pl.chilldev.web.core.markup.Generator; import pl.chilldev.web.core.page.PageMetaModel; import pl.chilldev.web.tags.context.JspPageMetaModelResolver; import pl.chilldev.web.tags.context.PageMetaModelContextException; import pl.chilldev.web.tags.context.PageMetaModelResolver; public class JspPageMetaModelResolverTest { @Test public void getPageMetaModel() throws PageMetaModelContextException { JspContext context = new MockPageContext(); PageMetaModelResolver resolver = new JspPageMetaModelResolver(); PageMetaModel page = resolver.getPageMetaModel(context); assertNotNull( "JspPageMetaModelResolver.getPageMetaModel() should create new page model for given context if there is none.", page); assertSame( "JspPageMetaModelResolver.getPageMetaModel() should register newly created page model for next uses.", page, resolver.getPageMetaModel(context)); } @Test(expected = PageMetaModelContextException.class) public void getPageMetaModelInvalidType() throws PageMetaModelContextException { JspContext context = new MockPageContext(); String attribute = "foo"; Generator generator = new Generator(false); PageMetaModelResolver resolver = new JspPageMetaModelResolver(attribute, generator); context.setAttribute(attribute, resolver); resolver.getPageMetaModel(context); } @Test public void getPageMetaModelWithKey() throws PageMetaModelContextException { JspContext context = new MockPageContext(); String attribute = "foo"; PageMetaModelResolver resolver = new JspPageMetaModelResolver(attribute); PageMetaModel page = new PageMetaModel(); context.setAttribute(attribute, page); assertSame( "JspPageMetaModelResolver.getPageMetaModel() should return existing page model if it's already in context.", page, resolver.getPageMetaModel(context)); } @Test public void getPageMetaModelWithGenerator() throws PageMetaModelContextException { JspContext context = new MockPageContext(); Generator generator = new Generator(false, StringEscapeUtils.ESCAPE_JSON); PageMetaModelResolver resolver = new JspPageMetaModelResolver(generator); PageMetaModel page = resolver.getPageMetaModel(context); page.addKeywords(new String[] { "\"" }); assertEquals( "JspPageMetaModelResolver should initialize new page meta model with given markup generator if specified.", "<meta content=\"\\\"\" name=\"keywords\">", page.generateMetaElements()); } }