Author: jdonnerstag
Date: Sun Jun 21 09:19:12 2009
New Revision: 786959

URL: http://svn.apache.org/viewvc?rev=786959&view=rev
Log:
added the testcase
Issue: WICKET-2328

Added:
    wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.html
    wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.java
Modified:
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java?rev=786959&r1=786958&r2=786959&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/AjaxRequestTargetTest.java
 Sun Jun 21 09:19:12 2009
@@ -157,4 +157,27 @@
                        DiffUtil.validatePage(headerContribution, getClass(), 
expectedFile, true);
                }
        }
+
+       /**
+        * WICKET-2328
+        */
+       public void testRenderMyPage()
+       {
+               // start and render the test page
+               tester.startPage(HomePage2.class);
+
+               // assert rendered page class
+               tester.assertRenderedPage(HomePage2.class);
+
+               // assert rendered label component
+               tester.assertLabel("msg", "onBeforeRender called");
+
+               // click the ajax link; this should have no effect
+               tester.clickLink("link");
+
+               // assert rendered label component again to make sure
+               // THIS FAILS! even though the same sequence of clicks
+               // done in a browser does not cause the label to change
+               tester.assertLabel("msg", "onBeforeRender called");
+       }
 }

Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.html
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.html?rev=786959&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.html 
(added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.html Sun 
Jun 21 09:19:12 2009
@@ -0,0 +1,12 @@
+<html 
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd"; >
+    <head>  
+        <title>Wicket Quickstart Archetype Homepage</title>
+    </head>
+    <body>
+        <strong>Wicket Quickstart Archetype Homepage</strong>
+        <br/><br/>
+        <a href="javascript://" wicket:id="link">ajax link</a><br/>
+        <span wicket:id="msg">toggled by ajax</span>
+    </body>
+</html>
+

Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.java?rev=786959&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.java 
(added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/ajax/HomePage2.java Sun 
Jun 21 09:19:12 2009
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wicket.ajax;
+
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.PropertyModel;
+
+/**
+ * Homepage WICKET-2328
+ */
+public class HomePage2 extends WebPage
+{
+
+       private static final long serialVersionUID = 1L;
+
+       // TODO Add any page properties or variables here
+       private String _message = "clicked";
+
+       /**
+        * Constructor that is invoked when page is invoked without a session.
+        * 
+        * @param parameters
+        *            Page parameters
+        */
+       public HomePage2(final PageParameters parameters)
+       {
+
+               setOutputMarkupId(true);
+               add(new Label("msg", new PropertyModel<String>(this, 
"_message")));
+               add(new AjaxLink("link")
+               {
+                       @Override
+                       public void onClick(AjaxRequestTarget tgt)
+                       {
+                               _message = "ajax link clicked";
+
+                               // Adding the entire page to the ajax request 
target
+                               // should force the entire page to be 
re-requested by the
+                               // browser, thereby reverting the _message 
value.
+                               tgt.addComponent(getPage());
+
+                               // And it works. However the when testing this 
behavior
+                               // with WicketTester, the _message value does 
not revert.
+                               // See TestHomePage.java.
+                       }
+               });
+       }
+
+       @Override
+       protected void onBeforeRender()
+       {
+               _message = "onBeforeRender called";
+               super.onBeforeRender();
+       }
+}


Reply via email to