Author: mgrigorov Date: Tue Oct 18 11:47:59 2011 New Revision: 1185589 URL: http://svn.apache.org/viewvc?rev=1185589&view=rev Log: Add a unit test that changes the initial value of AjaxEditableLabel to something new
Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableTest.java Modified: wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableTest.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableTest.java?rev=1185589&r1=1185588&r2=1185589&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableTest.java (original) +++ wicket/trunk/wicket-extensions/src/test/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableTest.java Tue Oct 18 11:47:59 2011 @@ -20,6 +20,7 @@ import org.apache.wicket.Page; import org.apache.wicket.WicketTestCase; import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.behavior.AbstractAjaxBehavior; +import org.apache.wicket.markup.html.form.FormComponent; /** * Tests for {@link AjaxEditableLabel} @@ -97,4 +98,36 @@ public class AjaxEditableTest extends Wi markup = tester.getTagById(ajaxLabel.getMarkupId()).getMarkup(); assertTrue(markup.matches(".*onclick=\"var wcall=wicketAjaxGet.*")); } + + /** + * A test that changes the value of the {@link AjaxEditableLabel} + */ + @SuppressWarnings({ "unchecked" }) + public void testUpdateValue() + { + Page page = tester.getLastRenderedPage(); + AjaxEditableLabel<String> ajaxLabel = (AjaxEditableLabel<String>)page.get("ajaxLabel"); + AjaxLink<Void> toggle = (AjaxLink<Void>)page.get("toggle"); + + tester.assertInvisible("ajaxLabel:editor"); + tester.assertVisible("ajaxLabel:label"); + // assert the initial value + tester.assertLabel("ajaxLabel:label", "ajaxTest"); + + // click on the label to go to edit mode + tester.executeAjaxEvent("ajaxLabel:label", "onclick"); + + tester.assertVisible("ajaxLabel:editor"); + tester.assertInvisible("ajaxLabel:label"); + + FormComponent<?> editor = (FormComponent<?>)ajaxLabel.get("editor"); + // set some new value and submit it + tester.getRequest().setParameter(editor.getInputName(), "something"); + tester.getRequest().setParameter("save", "true"); + tester.executeBehavior((AbstractAjaxBehavior)editor.getBehaviorById(0)); + + tester.assertInvisible("ajaxLabel:editor"); + tester.assertVisible("ajaxLabel:label"); + tester.assertLabel("ajaxLabel:label", "something"); + } } \ No newline at end of file