You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2014/09/09 09:43:27 UTC
git commit: WICKET-5694 Add WicketTester assertion methods for
component's markup style, variation and locale
Repository: wicket
Updated Branches:
refs/heads/master eefe3c30a -> 13137b9da
WICKET-5694 Add WicketTester assertion methods for component's markup style, variation and locale
(cherry picked from commit b09593a6e1f60b080e2f27d739336757ec01d686)
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/13137b9d
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/13137b9d
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/13137b9d
Branch: refs/heads/master
Commit: 13137b9da97f980bfd0f84dd716b22e344de86c8
Parents: eefe3c3
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Tue Sep 9 10:38:12 2014 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Tue Sep 9 10:43:07 2014 +0300
----------------------------------------------------------------------
.../java/org/apache/wicket/markup/Markup.java | 2 -
.../org/apache/wicket/util/tester/Result.java | 11 +--
.../apache/wicket/util/tester/WicketTester.java | 93 ++++++++++++++++++++
.../wicket/markup/MarkupVariationTest.java | 11 +++
4 files changed, 110 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/13137b9d/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java b/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
index 2808e42..ce815f1 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/Markup.java
@@ -25,8 +25,6 @@ import java.util.List;
import org.apache.wicket.util.lang.Args;
import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
import org.apache.wicket.util.string.AppendingStringBuffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/13137b9d/wicket-core/src/main/java/org/apache/wicket/util/tester/Result.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/Result.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/Result.java
index dfe0cd9..3a51949 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/Result.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/Result.java
@@ -24,16 +24,17 @@ package org.apache.wicket.util.tester;
*/
public class Result
{
- private static final Result PASS = new Result(false);
+ public static final Result PASS = new Result(false);
+
private final boolean failed;
private final String message;
- private Result(boolean failed)
+ public Result(boolean failed)
{
this(failed, "");
}
- private Result(boolean failed, String message)
+ public Result(boolean failed, String message)
{
this.failed = failed;
this.message = message;
@@ -46,7 +47,7 @@ public class Result
* an error message
* @return a <code>Result</code> which failed
*/
- static Result fail(String message)
+ public static Result fail(String message)
{
return new Result(true, message);
}
@@ -56,7 +57,7 @@ public class Result
*
* @return a <code>Result</code> which passed
*/
- static Result pass()
+ public static Result pass()
{
return PASS;
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/13137b9d/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
index 46b9f4a..e860574 100644
--- a/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
+++ b/wicket-core/src/main/java/org/apache/wicket/util/tester/WicketTester.java
@@ -26,10 +26,12 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Locale;
import javax.servlet.ServletContext;
import junit.framework.AssertionFailedError;
+
import org.apache.wicket.Component;
import org.apache.wicket.MarkupContainer;
import org.apache.wicket.Page;
@@ -38,6 +40,7 @@ import org.apache.wicket.feedback.ExactLevelFeedbackMessageFilter;
import org.apache.wicket.feedback.FeedbackMessage;
import org.apache.wicket.feedback.IFeedback;
import org.apache.wicket.feedback.IFeedbackMessageFilter;
+import org.apache.wicket.markup.IMarkupFragment;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.ValidationErrorFeedback;
@@ -324,6 +327,96 @@ public class WicketTester extends BaseWicketTester
}
/**
+ * Asserts that a component's markup has loaded with the given variation
+ *
+ * @param component
+ * The component which markup to check
+ * @param expectedVariation
+ * The expected variation of the component's markup
+ */
+ public void assertMarkupVariation(Component component, String expectedVariation)
+ {
+ Result result = Result.PASS;
+ IMarkupFragment markup = getMarkupFragment(component);
+
+ String actualVariation = markup.getMarkupResourceStream().getVariation();
+ if (Objects.equal(expectedVariation, actualVariation) == false)
+ {
+ result = Result.fail(String.format("Wrong variation for component '%s'. Actual: '%s', expected: '%s'",
+ component.getPageRelativePath(), actualVariation, expectedVariation));
+ }
+
+ assertResult(result);
+ }
+
+ /**
+ * Asserts that a component's markup has loaded with the given style
+ *
+ * @param component
+ * The component which markup to check
+ * @param expectedStyle
+ * The expected style of the component's markup
+ */
+ public void assertMarkupStyle(Component component, String expectedStyle)
+ {
+ Result result = Result.PASS;
+ IMarkupFragment markup = getMarkupFragment(component);
+
+ String actualStyle = markup.getMarkupResourceStream().getStyle();
+ if (Objects.equal(expectedStyle, actualStyle) == false)
+ {
+ result = Result.fail(String.format("Wrong style for component '%s'. Actual: '%s', expected: '%s'",
+ component.getPageRelativePath(), actualStyle, expectedStyle));
+ }
+
+ assertResult(result);
+ }
+
+ /**
+ * Asserts that a component's markup has loaded with the given locale
+ *
+ * @param component
+ * The component which markup to check
+ * @param expectedLocale
+ * The expected locale of the component's markup
+ */
+ public void assertMarkupLocale(Component component, Locale expectedLocale)
+ {
+ Result result = Result.PASS;
+ IMarkupFragment markup = getMarkupFragment(component);
+
+ Locale actualLocale = markup.getMarkupResourceStream().getLocale();
+ if (Objects.equal(expectedLocale, actualLocale) == false)
+ {
+ result = Result.fail(String.format("Wrong locale for component '%s'. Actual: '%s', expected: '%s'",
+ component.getPageRelativePath(), actualLocale, expectedLocale));
+ }
+
+ assertResult(result);
+ }
+
+ private IMarkupFragment getMarkupFragment(Component component)
+ {
+ IMarkupFragment markup = null;
+ if (component instanceof MarkupContainer)
+ {
+ markup = ((MarkupContainer) component).getAssociatedMarkup();
+ }
+
+ if (markup == null)
+ {
+ markup = component.getMarkup();
+ }
+
+ if (markup == null)
+ {
+ throw new AssertionFailedError(String.format("Cannot find the markup of component: %s", component.getPageRelativePath()));
+ }
+
+ return markup;
+ }
+
+ /**
* Asserts error-level feedback messages.
*
* @param expectedErrorMessages
http://git-wip-us.apache.org/repos/asf/wicket/blob/13137b9d/wicket-core/src/test/java/org/apache/wicket/markup/MarkupVariationTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/MarkupVariationTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/MarkupVariationTest.java
index 5dd6883..195ff8f 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/MarkupVariationTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/MarkupVariationTest.java
@@ -42,15 +42,26 @@ public class MarkupVariationTest extends WicketTestCase
{
tester.startPage(new VariationPage());
tester.assertContainsNot("Two");
+ tester.assertMarkupVariation(getVariationPanel(), "one");
+ tester.assertMarkupVariation(tester.getLastRenderedPage(), null);
tester.clickLink("p:l");
tester.assertContainsNot("One");
+ tester.assertMarkupVariation(getVariationPanel(), "two");
+ tester.assertMarkupVariation(tester.getLastRenderedPage(), null);
tester.clickLink("p:l");
tester.assertContainsNot("Two");
+ tester.assertMarkupVariation(getVariationPanel(), "one");
+ tester.assertMarkupVariation(tester.getLastRenderedPage(), null);
tester.clickLink("p:l");
}
+ private MarkupContainer getVariationPanel()
+ {
+ return (MarkupContainer) tester.getComponentFromLastRenderedPage("p");
+ }
+
private static class VariationPage extends WebPage implements IMarkupResourceStreamProvider
{
private VariationPage()