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.faces.context; import org.junit.Test; import static org.junit.Assert.*; import javax.faces.view.facelets.FaceletContext; import org.apache.commons.lang3.StringEscapeUtils; import pl.chilldev.web.core.markup.Generator; import pl.chilldev.web.core.page.PageMetaModel; import pl.chilldev.web.faces.context.FacesPageMetaModelResolver; import pl.chilldev.web.faces.context.PageMetaModelContextException; import pl.chilldev.web.faces.context.PageMetaModelResolver; import test.pl.chilldev.web.faces.mock.MockFaceletContext; public class FacesPageMetaModelResolverTest { @Test public void getPageMetaModel() throws PageMetaModelContextException { FaceletContext context = new MockFaceletContext(); PageMetaModelResolver resolver = new FacesPageMetaModelResolver(); PageMetaModel page = resolver.getPageMetaModel(context); assertNotNull( "FacesPageMetaModelResolver.getPageMetaModel() should create new page model for given context if there is none.", page); assertSame( "FacesPageMetaModelResolver.getPageMetaModel() should register newly created page model for next uses.", page, resolver.getPageMetaModel(context)); } @Test(expected = PageMetaModelContextException.class) public void getPageMetaModelInvalidType() throws PageMetaModelContextException { FaceletContext context = new MockFaceletContext(); String attribute = "foo"; Generator generator = new Generator(false); PageMetaModelResolver resolver = new FacesPageMetaModelResolver(attribute, generator); context.setAttribute(attribute, resolver); resolver.getPageMetaModel(context); } @Test public void getPageMetaModelWithKey() throws PageMetaModelContextException { FaceletContext context = new MockFaceletContext(); String attribute = "foo"; PageMetaModelResolver resolver = new FacesPageMetaModelResolver(attribute); PageMetaModel page = new PageMetaModel(); context.setAttribute(attribute, page); assertSame( "FacesPageMetaModelResolver.getPageMetaModel() should return existing page model if it's already in context.", page, resolver.getPageMetaModel(context)); } @Test public void getPageMetaModelWithGenerator() throws PageMetaModelContextException { FaceletContext context = new MockFaceletContext(); Generator generator = new Generator(false, StringEscapeUtils.ESCAPE_JSON); PageMetaModelResolver resolver = new FacesPageMetaModelResolver(generator); PageMetaModel page = resolver.getPageMetaModel(context); page.addKeywords(new String[] { "\"" }); assertEquals( "FacesPageMetaModelResolver should initialize new page meta model with given markup generator if specified.", "<meta content=\"\\\"\" name=\"keywords\">", page.generateMetaElements()); } }