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.page; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.*; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.BodyContent; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.mockito.Mockito.*; import org.springframework.mock.web.MockPageContext; import pl.chilldev.web.core.page.PageMetaModel; import pl.chilldev.web.tags.context.JspPageMetaModelResolver; import pl.chilldev.web.tags.context.PageMetaModelContextUtils; import pl.chilldev.web.tags.page.MetaNameTag; @RunWith(MockitoJUnitRunner.class) public class MetaNameTagTest { @Mock private PageMetaModel page; @Mock private BodyContent body; @Test public void doEndTag() throws JspTagException { PageContext context = new MockPageContext(); MetaNameTag tag = new MetaNameTag(); tag.setPageContext(context); // set up context String attribute = "foo"; context.setAttribute(attribute, this.page); // set up resolver PageMetaModelContextUtils.setPageMetaModelResolver(new JspPageMetaModelResolver(attribute)); String key = "bar"; String value = "baz"; // run the tag tag.setKey(key); tag.setValue(value); tag.doEndTag(); verify(this.page).setMetaName(key, value); } @Test public void doEndTagWithBodyContent() throws JspTagException { PageContext context = new MockPageContext(); MetaNameTag tag = new MetaNameTag(); tag.setPageContext(context); // set up context String attribute = "foo"; context.setAttribute(attribute, this.page); // set up resolver PageMetaModelContextUtils.setPageMetaModelResolver(new JspPageMetaModelResolver(attribute)); String key = "bar"; String value = "baz"; when(this.body.getString()).thenReturn(value); // run the tag tag.setKey(key); tag.setBodyContent(this.body); tag.doEndTag(); verify(this.page).setMetaName(key, value); } }