Fix StackTraceCreatorTest in hosted mode.
Patch by: bobv
Review by: rjrjr (TBR)
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5792 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java b/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
index abddc36..25545ba 100644
--- a/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
+++ b/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java
@@ -17,6 +17,7 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.JavaScriptException;
+import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArrayString;
import com.google.gwt.junit.client.GWTTestCase;
@@ -26,7 +27,7 @@
*/
public class StackTraceCreatorTest extends GWTTestCase {
public static void testJavaScriptException() {
- JsArrayString start = StackTraceCreator.createStackTrace();
+ JsArrayString start = sample();
Throwable t = null;
try {
throwNative();
@@ -54,7 +55,7 @@
checkStack(myName, t);
- JsArrayString end = StackTraceCreator.createStackTrace();
+ JsArrayString end = sample();
assertEquals(start, end);
}
@@ -63,22 +64,22 @@
*/
public static void testReentrantCalls() {
if (!GWT.isScript()) {
- // StackTraceCreator.createStackTrace() is useless in hosted mode
+ // sample is useless in hosted mode
return;
}
- JsArrayString start = StackTraceCreator.createStackTrace();
+ JsArrayString start = sample();
JsArrayString stack = countDown(5);
assertNotNull(stack);
assertTrue(stack.length() > 0);
- JsArrayString end = StackTraceCreator.createStackTrace();
+ JsArrayString end = sample();
assertEquals(start, end);
}
public static void testStackTraces() {
- JsArrayString start = StackTraceCreator.createStackTrace();
+ JsArrayString start = sample();
Throwable t;
try {
@@ -96,10 +97,17 @@
checkStack(myName, t);
- JsArrayString end = StackTraceCreator.createStackTrace();
+ JsArrayString end = sample();
assertEquals(start, end);
}
+ private static void assertEquals(JsArrayString start, JsArrayString end) {
+ assertEquals("length", start.length(), end.length());
+ for (int i = 0, j = start.length(); i < j; i++) {
+ assertEquals("frame " + i, start.get(i), end.get(i));
+ }
+ }
+
private static void checkStack(String myName, Throwable t) {
assertNotNull("myName", myName);
assertNotNull("t", t);
@@ -130,18 +138,19 @@
found);
}
- private static void assertEquals(JsArrayString start, JsArrayString end) {
- assertEquals("length", start.length(), end.length());
- for (int i = 0, j = start.length(); i < j; i++) {
- assertEquals("frame " + i, start.get(i), end.get(i));
- }
- }
-
private static JsArrayString countDown(int count) {
if (count > 0) {
return countDown(count - 1);
} else {
+ return sample();
+ }
+ }
+
+ private static JsArrayString sample() {
+ if (GWT.isScript()) {
return StackTraceCreator.createStackTrace();
+ } else {
+ return JavaScriptObject.createArray().cast();
}
}