Author: tmjee Date: Tue Aug 29 11:31:13 2006 New Revision: 438147 URL: http://svn.apache.org/viewvc?rev=438147&view=rev Log: WW-1422 - Else tag body displayed when it shouldn't
Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java?rev=438147&r1=438146&r2=438147&view=diff ============================================================================== --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/views/jsp/IfTagTest.java Tue Aug 29 11:31:13 2006 @@ -256,6 +256,60 @@ } + public void testNestedIfElse1() throws Exception { + IfTag ifTag = new IfTag(); + ifTag.setPageContext(pageContext); + ifTag.setTest("true"); + + IfTag nestedIfTag = new IfTag(); + nestedIfTag.setPageContext(pageContext); + nestedIfTag.setTest("true"); + + ElseTag elseTag = new ElseTag(); + elseTag.setPageContext(pageContext); + + int r1 = ifTag.doStartTag(); + int r2 = nestedIfTag.doStartTag(); + int r3 = nestedIfTag.doEndTag(); + int r4 = ifTag.doEndTag(); + int r5 = elseTag.doStartTag(); + int r6 = elseTag.doEndTag(); + + assertEquals(TagSupport.EVAL_BODY_INCLUDE, r1); + assertEquals(TagSupport.EVAL_BODY_INCLUDE, r2); + assertEquals(TagSupport.EVAL_PAGE, r3); + assertEquals(TagSupport.EVAL_PAGE, r4); + assertEquals(TagSupport.SKIP_BODY, r5); + assertEquals(TagSupport.EVAL_PAGE, r6); + } + + public void testNestedIfElse2() throws Exception { + IfTag ifTag = new IfTag(); + ifTag.setPageContext(pageContext); + ifTag.setTest("true"); + + IfTag nestedIfTag = new IfTag(); + nestedIfTag.setPageContext(pageContext); + nestedIfTag.setTest("false"); + + ElseTag elseTag = new ElseTag(); + elseTag.setPageContext(pageContext); + + int r1 = ifTag.doStartTag(); + int r2 = nestedIfTag.doStartTag(); + int r3 = nestedIfTag.doEndTag(); + int r4 = ifTag.doEndTag(); + int r5 = elseTag.doStartTag(); + int r6 = elseTag.doEndTag(); + + assertEquals(TagSupport.EVAL_BODY_INCLUDE, r1); + assertEquals(TagSupport.SKIP_BODY, r2); + assertEquals(TagSupport.EVAL_PAGE, r3); + assertEquals(TagSupport.EVAL_PAGE, r4); + assertEquals(TagSupport.SKIP_BODY, r5); + assertEquals(TagSupport.EVAL_PAGE, r6); + } +