Author: lukaszlenart Date: Sat Jul 21 12:57:02 2012 New Revision: 1364077 URL: http://svn.apache.org/viewvc?rev=1364077&view=rev Log: WW-3828 adds additional test to check if dynamic attributes work with custom theme
Added: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl - copied, changed from r1344134, struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/manual-list.ftl struts/struts2/trunk/core/src/test/resources/template/test/text.ftl Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl struts/struts2/trunk/core/src/test/resources/struts.xml Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java?rev=1364077&r1=1364076&r2=1364077&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java Sat Jul 21 12:57:02 2012 @@ -265,6 +265,33 @@ public class FreeMarkerResultTest extend assertEquals(expected, stringWriter.toString()); } + public void testDynamicAttributesInTheme() throws Exception { + FreemarkerManager freemarkerManager = container.getInstance(FreemarkerManager.class); + Configuration freemarkerConfig = freemarkerManager.getConfiguration(ServletActionContext.getServletContext()); + freemarkerConfig.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER); + + ServletContext servletContext = EasyMock.createNiceMock(ServletContext.class); + + File file = new File(FreeMarkerResultTest.class.getResource("customTextField.ftl").toURI()); + EasyMock.expect(servletContext.getRealPath("/tutorial/org/apache/struts2/views/freemarker/customTextField.ftl")).andReturn(file.getAbsolutePath()); + + file = new File(ClassLoaderUtil.getResource("template/test/text.ftl", getClass()).toURI()); + EasyMock.expect(servletContext.getRealPath("/template/test/text.ftl")).andReturn(file.getAbsolutePath()); + + EasyMock.expect(servletContext.getAttribute(FreemarkerManager.CONFIG_SERVLET_CONTEXT_KEY)).andReturn(freemarkerConfig).anyTimes(); + EasyMock.replay(servletContext); + + freemarkerConfig.setServletContextForTemplateLoading(servletContext, null); + ServletActionContext.setServletContext(servletContext); + + request.setRequestURI("/tutorial/test8.action"); + Dispatcher dispatcher = Dispatcher.getInstance(); + ActionMapping mapping = dispatcher.getContainer().getInstance(ActionMapper.class).getMapping(request, dispatcher.getConfigurationManager()); + dispatcher.serviceAction(request, response, servletContext, mapping); + String expected = "<input type=\"text\"autofocus=\"autofocus\"/>"; + assertEquals(expected, stringWriter.toString()); + } + protected void setUp() throws Exception { super.setUp(); mgr = new FreemarkerManager(); Copied: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl (from r1344134, struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/manual-list.ftl) URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl?p2=struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl&p1=struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/manual-list.ftl&r1=1344134&r2=1364077&rev=1364077&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/manual-list.ftl (original) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/customTextField.ftl Sat Jul 21 12:57:02 2012 @@ -20,6 +20,4 @@ * under the License. */ --> -<@s.radio name="client" id="client_" list='{"foo", "bar"}' /> - -<@s.radio name="car" list={"ford": "Ford Motor Co", "toyota": "Toyota"} listKey="key" listValue="value" /> +<@s.textfield theme="test" autofocus=true /> Modified: struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl?rev=1364077&r1=1364076&r2=1364077&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl (original) +++ struts/struts2/trunk/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl Sat Jul 21 12:57:02 2012 @@ -22,4 +22,4 @@ --> <@s.textfield name="test" dynamicAttributes={"placeholder":"input","foo":"bar"}/> <@s.textfield name="test" placeholder="input" foo="bar"/> -<@s.textfield name="test" break=true /> \ No newline at end of file +<@s.textfield name="test" break=true /> Modified: struts/struts2/trunk/core/src/test/resources/struts.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/struts.xml?rev=1364077&r1=1364076&r2=1364077&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/resources/struts.xml (original) +++ struts/struts2/trunk/core/src/test/resources/struts.xml Sat Jul 21 12:57:02 2012 @@ -75,6 +75,12 @@ </result> </action> + <action name="test8" class="com.opensymphony.xwork2.ActionSupport"> + <result type="freemarker"> + <param name="location">org/apache/struts2/views/freemarker/customTextField.ftl</param> + </result> + </action> + </package> <package name="sitegraph" namespace="/tutorial/sitegraph" extends="struts-default"> Added: struts/struts2/trunk/core/src/test/resources/template/test/text.ftl URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/template/test/text.ftl?rev=1364077&view=auto ============================================================================== --- struts/struts2/trunk/core/src/test/resources/template/test/text.ftl (added) +++ struts/struts2/trunk/core/src/test/resources/template/test/text.ftl Sat Jul 21 12:57:02 2012 @@ -0,0 +1,5 @@ +<input type="text"<#rt/> +<#if parameters.autofocus!false> +autofocus="autofocus"<#rt/> +</#if> +/><#rt/> \ No newline at end of file