You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2005/05/11 02:55:30 UTC

svn commit: r169547 - in /incubator/beehive/trunk/netui: src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/ test/webapps/drt/coreWeb/databinding/repeater/pad/ test/webapps/drt/testRecorder/config/ test/webapps/drt/testRecorder/tests/

Author: ekoneil
Date: Tue May 10 17:55:28 2005
New Revision: 169547

URL: http://svn.apache.org/viewcvs?rev=169547&view=rev
Log:
Fix for JIRA 695.  The pad tag was NPE'ing when the body had no content and no padText was set.

Nice bug, Nathan.

BB: self
DRT: NetUI + RepeaterNoPadText pass


Added:
    incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp   (with props)
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml   (with props)
Modified:
    incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
    incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml

Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java?rev=169547&r1=169546&r2=169547&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/tags/databinding/repeater/pad/Pad.java Tue May 10 17:55:28 2005
@@ -61,16 +61,16 @@
  * @example In the following example, assume that the <netui-data:repeater> tag iterates over
  * a {@link java.util.List java.util.List} object.  The <netui-data:pad> limits the iteration
  * to three cycles, no matter how many elements are actually in the List.
- * <pre>    &lt;netui-data:repeater dataSource="{pageFlow.myList}">
+ * <pre>    &lt;netui-data:repeater dataSource="pageFlow.myList">
  *         &lt;netui-data:pad maxRepeat="3"/>
  *             &lt;netui-data:repeaterItem>
- *                 &lt;netui:label value="{container.item}" />
+ *                 &lt;netui:span value="${container.item}" />
  *             &lt;/netui-data:repeaterItem>
  *     &lt;/netui-data:repeater></pre>
  * @netui:tag name="pad" description="Affects the number of items that are rendered in a Repeater."
  */
 public class Pad
-        extends RepeaterComponent {
+    extends RepeaterComponent {
 
     private static final Logger LOGGER = Logger.getInstance(Pad.class);
 
@@ -164,7 +164,7 @@
     protected int renderEndTag(int state)
             throws JspException {
 
-        if(_padText == null) {
+        if(_padText == null && bodyContent != null) {
             _padText = bodyContent.getString();
         }
 

Added: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp?rev=169547&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp Tue May 10 17:55:28 2005
@@ -0,0 +1,14 @@
+<%@ page language="java" %>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-databinding-1.0" prefix="netui-data"%>
+<%@ taglib uri="http://beehive.apache.org/netui/tags-html-1.0" prefix="netui"%>
+<netui:html>
+<netui:body>
+    <% pageContext.setAttribute("itemArray", new String[] {"zero", "one", "two", "three", "four"}); %>
+    <netui-data:repeater dataSource="pageScope.itemArray">
+        <netui-data:pad maxRepeat="2"/>
+        <netui-data:repeaterItem>
+            <netui:span value="${container.item}" />
+        </netui-data:repeaterItem>
+    </netui-data:repeater> 
+</netui:body>
+</netui:html>
\ No newline at end of file

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/databinding/repeater/pad/j695.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml?rev=169547&r1=169546&r2=169547&view=diff
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/config/testRecorder-tests.xml Tue May 10 17:55:28 2005
@@ -5762,6 +5762,19 @@
          </features>
       </test>
       <test>
+         <name>RepeaterNoPadText</name>
+         <description>Test a repeater using padding with no pad text value.</description>
+         <webapp>coreWeb</webapp>
+         <categories>
+            <category>bvt</category>
+            <category>bvt.struts11</category>
+            <category>databinding</category>
+         </categories>
+         <features>
+            <feature>Nested Repeater</feature>
+         </features>
+      </test>
+      <test>
          <name>RepeaterPad</name>
          <description>Tests the pad tag used inside of the repeater.</description>
          <webapp>coreWeb</webapp>

Added: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml
URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml?rev=169547&view=auto
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml (added)
+++ incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml Tue May 10 17:55:28 2005
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ses:recorderSession xmlns:ses="http://beehive.apache.org/netui/tools/testrecorder/2004/session">
+   <ses:sessionName>RepeaterNoPadText</ses:sessionName>
+   <ses:tester>ekoneil</ses:tester>
+   <ses:startDate>10 May 2005, 05:29:23.466 PM MDT</ses:startDate>
+   <ses:description>Test for missing pad text and body content in the repeater.  BVT for J695.</ses:description>
+   <ses:tests>
+      <ses:test>
+         <ses:testNumber>1</ses:testNumber>
+         <ses:request>
+            <ses:protocol>HTTP</ses:protocol>
+            <ses:protocolVersion>1.1</ses:protocolVersion>
+            <ses:host>localhost</ses:host>
+            <ses:port>8080</ses:port>
+            <ses:uri>/coreWeb/databinding/repeater/pad/j695.jsp</ses:uri>
+            <ses:method>GET</ses:method>
+            <ses:parameters/>
+            <ses:cookies>
+               <ses:cookie>
+                  <ses:name>JSESSIONID</ses:name>
+                  <ses:value>CDED2B72104CE8847B7D1FA89AA9D889</ses:value>
+               </ses:cookie>
+            </ses:cookies>
+            <ses:headers>
+               <ses:header>
+                  <ses:name>accept</ses:name>
+                  <ses:value>text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-charset</ses:name>
+                  <ses:value>ISO-8859-1,utf-8;q=0.7,*;q=0.7</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-encoding</ses:name>
+                  <ses:value>gzip,deflate</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>accept-language</ses:name>
+                  <ses:value>en-us,en;q=0.5</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>connection</ses:name>
+                  <ses:value>keep-alive</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>cookie</ses:name>
+                  <ses:value>JSESSIONID=CDED2B72104CE8847B7D1FA89AA9D889</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>host</ses:name>
+                  <ses:value>localhost:8080</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>keep-alive</ses:name>
+                  <ses:value>300</ses:value>
+               </ses:header>
+               <ses:header>
+                  <ses:name>user-agent</ses:name>
+                  <ses:value>Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3</ses:value>
+               </ses:header>
+            </ses:headers>
+         </ses:request>
+         <ses:response>
+            <ses:statusCode>200</ses:statusCode>
+            <ses:reason/>
+            <ses:responseBody><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+	"http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+
+<body>
+    
+    
+            <span>zero</span>
+        
+            <span>one</span>
+         
+</body>
+
+</html>]]></ses:responseBody>
+         </ses:response>
+      </ses:test>
+   </ses:tests>
+   <ses:endDate>10 May 2005, 05:29:28.072 PM MDT</ses:endDate>
+   <ses:testCount>1</ses:testCount>
+</ses:recorderSession>
\ No newline at end of file

Propchange: incubator/beehive/trunk/netui/test/webapps/drt/testRecorder/tests/RepeaterNoPadText.xml
------------------------------------------------------------------------------
    svn:eol-style = native