Author: jdonnerstag
Date: Sat Jan 24 22:45:22 2009
New Revision: 737446
URL: http://svn.apache.org/viewvc?rev=737446&view=rev
Log:
fixed wicket-2030: BaseWicketTester can't find the pageLink field using
reflection when you override the PageLink class.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/InterceptTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/MockHomePage.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/HeaderTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/TestPage.java
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java?rev=737446&r1=737445&r2=737446&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/tester/BaseWicketTester.java
Sat Jan 24 22:45:22 2009
@@ -519,19 +519,28 @@
PageLink<?> pageLink =
(PageLink<?>)getComponentFromLastRenderedPage(path);
try
{
- Field iPageLinkField =
pageLink.getClass().getDeclaredField("pageLink");
- iPageLinkField.setAccessible(true);
- IPageLink iPageLink =
(IPageLink)iPageLinkField.get(pageLink);
- return isEqual(expectedPageClass,
iPageLink.getPageIdentity());
+ for (Class<?> type = pageLink.getClass(); type !=
PageLink.class.getSuperclass(); type = type.getSuperclass())
+ {
+ try
+ {
+ Field iPageLinkField =
type.getDeclaredField("pageLink");
+ iPageLinkField.setAccessible(true);
+ IPageLink iPageLink =
(IPageLink)iPageLinkField.get(pageLink);
+ return isEqual(expectedPageClass,
iPageLink.getPageIdentity());
+ }
+
+ catch (NoSuchFieldException e)
+ {
+ continue;
+ }
+ }
+ throw new WicketRuntimeException(
+ "Is this realy a PageLink? Cannot find
'pageLink' field");
}
catch (SecurityException e)
{
throw convertoUnexpect(e);
}
- catch (NoSuchFieldException e)
- {
- throw convertoUnexpect(e);
- }
catch (IllegalAccessException e)
{
throw convertoUnexpect(e);
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/InterceptTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/InterceptTest.java?rev=737446&r1=737445&r2=737446&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/InterceptTest.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/InterceptTest.java
Sat Jan 24 22:45:22 2009
@@ -100,6 +100,8 @@
form.submit();
assertEquals(application.getApplication().getHomePage(),
application.getLastRenderedPage()
.getClass());
+
+ application.assertPageLink("link", PageA.class);
}
/**
@@ -166,7 +168,7 @@
private static final long serialVersionUID = 1L;
@Override
- public Class< ? extends Page> getHomePage()
+ public Class<? extends Page> getHomePage()
{
return MockHomePage.class;
}
@@ -181,7 +183,7 @@
*
* @return Class
*/
- public Class< ? extends Page> getLoginPage()
+ public Class<? extends Page> getLoginPage()
{
return MockLoginPage.class;
}
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/MockHomePage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/MockHomePage.java?rev=737446&r1=737445&r2=737446&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/MockHomePage.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/form/login/MockHomePage.java
Sat Jan 24 22:45:22 2009
@@ -41,7 +41,16 @@
{
super();
add(new Label("label", "this page is secured"));
- add(new PageLink("link", PageA.class));
+ add(new PageLink<PageA>("link", PageA.class)
+ {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void onClick()
+ {
+ super.onClick();
+ }
+ });
}
/**
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/HeaderTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/HeaderTest.java?rev=737446&r1=737445&r2=737446&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/HeaderTest.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/HeaderTest.java
Sat Jan 24 22:45:22 2009
@@ -45,5 +45,7 @@
TestPage page = (TestPage)tester.getLastRenderedPage();
executedListener(TestPage.class, page.get("link"),
"TestPage_ExpectedResult-2.html");
+
+ tester.assertPageLink("link", TestPage.class);
}
}
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/TestPage.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/TestPage.java?rev=737446&r1=737445&r2=737446&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/TestPage.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/markup/html/header/testing3/TestPage.java
Sat Jan 24 22:45:22 2009
@@ -39,7 +39,7 @@
*/
public TestPage()
{
- this.current = panel1;
+ current = panel1;
add(current);
add(new PageLink("link", new IPageLink()
@@ -64,7 +64,7 @@
*/
public void replacePanel()
{
- this.current = (this.current == this.panel1 ? this.panel2 :
this.panel1);
- replace(this.current);
+ current = (current == panel1 ? panel2 : panel1);
+ replace(current);
}
}