GWT Messages can support SafeHtml output. Add this support to the FakeMessagesMaker as well.
Review at http://gwt-code-reviews.appspot.com/1890803
Review by: skybrian@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11529 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/junit/FakeMessagesMaker.java b/user/src/com/google/gwt/junit/FakeMessagesMaker.java
index dc37afc..9576a6c 100644
--- a/user/src/com/google/gwt/junit/FakeMessagesMaker.java
+++ b/user/src/com/google/gwt/junit/FakeMessagesMaker.java
@@ -16,6 +16,8 @@
package com.google.gwt.junit;
import com.google.gwt.i18n.client.Messages;
+import com.google.gwt.safehtml.shared.SafeHtml;
+import com.google.gwt.safehtml.shared.SafeHtmlUtils;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
@@ -57,7 +59,11 @@
throws Throwable {
String name = method.getName();
- return (args == null || args.length == 0) ? name : name
+ String result = (args == null || args.length == 0) ? name : name
+ Arrays.asList(args);
+ if (SafeHtml.class.isAssignableFrom(method.getReturnType())) {
+ return SafeHtmlUtils.fromString(result);
+ }
+ return result;
}
}
diff --git a/user/test/com/google/gwt/junit/FakeMessagesMakerTest.java b/user/test/com/google/gwt/junit/FakeMessagesMakerTest.java
index ddf541e..98866cf 100644
--- a/user/test/com/google/gwt/junit/FakeMessagesMakerTest.java
+++ b/user/test/com/google/gwt/junit/FakeMessagesMakerTest.java
@@ -16,6 +16,7 @@
package com.google.gwt.junit;
import com.google.gwt.i18n.client.Messages;
+import com.google.gwt.safehtml.shared.SafeHtml;
import junit.framework.TestCase;
@@ -27,21 +28,30 @@
@DefaultMessage("Isn''t this the fakiest?")
@Description("A sample message to be tested.")
String myMessage();
-
+
@DefaultMessage("Isn''t this the fakiest? Pick one: {1} or {2}?")
@Description("A sample message with parameters.")
String myArgumentedMessage(@Example("yes") String yes,
@Example("no") String no);
+
+ @DefaultMessage("This should be safe HTML")
+ @Description("A sample SafeHtml message.")
+ SafeHtml mySafeHtmlMessage();
}
-
+
public void testSimple() {
MyMessages messages = FakeMessagesMaker.create(MyMessages.class);
assertEquals("myMessage", messages.myMessage());
}
-
+
public void testArgs() {
MyMessages messages = FakeMessagesMaker.create(MyMessages.class);
assertEquals("myArgumentedMessage[oui, non]",
messages.myArgumentedMessage("oui", "non"));
}
+
+ public void testSafeHtml() {
+ MyMessages messages = FakeMessagesMaker.create(MyMessages.class);
+ assertEquals("mySafeHtmlMessage", messages.mySafeHtmlMessage().asString());
+ }
}