Author: ivaynberg
Date: Wed Oct 13 21:28:55 2010
New Revision: 1022297

URL: http://svn.apache.org/viewvc?rev=1022297&view=rev
Log:
test case
Issue: WICKET-3097

Added:
    wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java   
(with props)

Added: wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java?rev=1022297&view=auto
==============================================================================
--- wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java 
(added)
+++ wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java 
Wed Oct 13 21:28:55 2010
@@ -0,0 +1,84 @@
+package org.apache.wicket;
+
+import junit.framework.TestCase;
+
+import org.apache.wicket.behavior.AbstractBehavior;
+import org.apache.wicket.behavior.IBehaviorListener;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.IMarkupResourceStreamProvider;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.resource.StringResourceStream;
+import org.apache.wicket.util.tester.WicketTester;
+
+
+public class BehaviorUrlTest extends TestCase
+{
+       /**
+        * @see https://issues.apache.org/jira/browse/WICKET-3097
+        */
+       public void testUrlRemainsStable()
+       {
+               WicketTester tester = new WicketTester();
+
+               TestPage page = new TestPage();
+
+               int indexBeforeRender = 
page.container.getBehaviorsRawList().indexOf(page.callbackBehavior);
+
+               tester.startPage(page);
+
+               page = (TestPage)tester.getLastRenderedPage();
+               int indexAfterRender = 
page.container.getBehaviorsRawList().indexOf(page.callbackBehavior);
+
+               assertEquals("index of behavior in the raw list should not have 
changed",
+                       indexBeforeRender, indexAfterRender);
+
+       }
+
+       public static class TestPage extends WebPage implements 
IMarkupResourceStreamProvider
+       {
+               private WebMarkupContainer container;
+               private TestCallbackBehavior callbackBehavior;
+
+               public TestPage()
+               {
+                       callbackBehavior = new TestCallbackBehavior();
+
+                       container = new WebMarkupContainer("container");
+                       container.add(new TestTemporaryBehavior());
+                       container.add(callbackBehavior);
+                       add(container);
+
+               }
+
+               public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
+                       Class<?> containerClass)
+               {
+                       return new StringResourceStream("<html><a 
wicket:id=\"container\">container</a></html>");
+               }
+       }
+
+       private static class TestTemporaryBehavior extends AbstractBehavior
+       {
+               @Override
+               public boolean isTemporary()
+               {
+                       return true;
+               }
+       }
+
+       private static class TestCallbackBehavior extends AbstractBehavior 
implements IBehaviorListener
+       {
+               @Override
+               public void onComponentTag(Component component, ComponentTag 
tag)
+               {
+                       super.onComponentTag(component, tag);
+                       tag.put("href", component.urlFor(this, 
IBehaviorListener.INTERFACE));
+               }
+
+               public void onRequest()
+               {
+               }
+       }
+}
\ No newline at end of file

Propchange: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/BehaviorUrlTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to