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


Reply via email to