You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/04/13 22:25:37 UTC
svn commit: r1091903 - in
/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless:
StatelessFormTest.java pages/LoginPage.java
pages/UsernamePasswordSignInPanel.java
Author: pete
Date: Wed Apr 13 20:25:36 2011
New Revision: 1091903
URL: http://svn.apache.org/viewvc?rev=1091903&view=rev
Log:
WICKET-3562: added test case for proper invocation of Component#onInitialize() for stateless pages / components
Modified:
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/LoginPage.java
wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java?rev=1091903&r1=1091902&r2=1091903&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/StatelessFormTest.java Wed Apr 13 20:25:36 2011
@@ -24,8 +24,6 @@ import org.apache.wicket.stateless.pages
import org.apache.wicket.stateless.pages.LoginPage;
import org.apache.wicket.util.tester.FormTester;
import org.apache.wicket.util.tester.WicketTester;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
*
@@ -33,25 +31,28 @@ import org.slf4j.LoggerFactory;
*/
public class StatelessFormTest extends TestCase
{
- private static final Logger log = LoggerFactory.getLogger(StatelessFormTest.class);
-
private final Class<? extends Page> HOME = HomePage.class;
private final Class<? extends Page> LOGIN = LoginPage.class;
+ private WicketTester createTester()
+ {
+ return new WicketTester(new MockApplication()
+ {
+ @Override
+ public Class<? extends Page> getHomePage()
+ {
+ return HOME;
+ }
+
+ });
+ }
+
/**
* Login through the login page.
*/
public void testLogin()
{
- WicketTester tester = new WicketTester(new MockApplication()
- {
- @Override
- public Class<? extends Page> getHomePage()
- {
- return HOME;
- }
-
- });
+ WicketTester tester = createTester();
try
{
@@ -69,4 +70,39 @@ public class StatelessFormTest extends T
}
}
+ /**
+ * test initialization of component on stateless components
+ */
+ public void testOnInitializationForStatelessComponents()
+ {
+ WicketTester tester = createTester();
+
+ try
+ {
+ LoginPage page = new LoginPage();
+ assertFalse(page.isPageInitialized());
+ assertFalse(page.isPanelInitialized());
+
+ tester.startPage(LOGIN);
+ tester.assertRenderedPage(LOGIN);
+ page = (LoginPage)tester.getLastRenderedPage();
+ assertTrue(page.isPageInitialized());
+ assertTrue(page.isPanelInitialized());
+
+ FormTester form = tester.newFormTester("signInPanel:signInForm");
+ form.setValue("username", "test");
+ form.setValue("password", "invalid");
+ form.submit();
+
+ tester.assertRenderedPage(LOGIN);
+ page = (LoginPage)tester.getLastRenderedPage();
+ assertTrue(page.isPageInitialized());
+ assertTrue(page.isPanelInitialized());
+ }
+ finally
+ {
+ tester.destroy();
+ }
+ }
+
}
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/LoginPage.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/LoginPage.java?rev=1091903&r1=1091902&r2=1091903&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/LoginPage.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/LoginPage.java Wed Apr 13 20:25:36 2011
@@ -27,6 +27,9 @@ public class LoginPage extends WebPage
private static final long serialVersionUID = 1L;
+ private boolean pageInitialized = false;
+ private boolean panelInitialized = false;
+
/**
* Constructor.
@@ -38,15 +41,40 @@ public class LoginPage extends WebPage
newUserPasswordSignInPanel(panelId);
}
+ @Override
+ protected void onInitialize()
+ {
+ super.onInitialize();
+ pageInitialized = true;
+ }
+
+ public boolean isPageInitialized()
+ {
+ return pageInitialized;
+ }
+
+ public boolean isPanelInitialized()
+ {
+ return panelInitialized;
+ }
+
/**
* Creates a sign in panel on institutions that rely solely on their authentication username /
* password.
*
* @param panelId
- * @param info
*/
private void newUserPasswordSignInPanel(String panelId)
{
- add(new UsernamePasswordSignInPanel(panelId));
+ add(new UsernamePasswordSignInPanel(panelId)
+ {
+ @Override
+ protected void onInitialize()
+ {
+ super.onInitialize();
+ panelInitialized = true;
+
+ }
+ });
}
}
Modified: wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java?rev=1091903&r1=1091902&r2=1091903&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java (original)
+++ wicket/trunk/wicket-core/src/test/java/org/apache/wicket/stateless/pages/UsernamePasswordSignInPanel.java Wed Apr 13 20:25:36 2011
@@ -29,8 +29,6 @@ import org.apache.wicket.model.CompoundP
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.util.value.IValueMap;
import org.apache.wicket.util.value.ValueMap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
@@ -42,9 +40,6 @@ public class UsernamePasswordSignInPanel
/** */
private static final long serialVersionUID = 1L;
- /** */
- private static final Logger log = LoggerFactory.getLogger(UsernamePasswordSignInPanel.class);
-
/**
* Constructor.
*
@@ -67,7 +62,7 @@ public class UsernamePasswordSignInPanel
*/
public boolean signIn(String username, String password)
{
- return true;
+ return username.equals(password);
}
/**
@@ -107,9 +102,6 @@ public class UsernamePasswordSignInPanel
"rememberMe")));
}
- /**
- * @see wicket.markup.html.form.Form#onSubmit()
- */
@Override
public final void onSubmit()
{