Revision: 5792 Author: [email protected] Date: Fri Jul 24 16:29:28 2009 Log: Fix StackTraceCreatorTest in hosted mode.
Patch by: bobv Review by: rjrjr (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=5792 Modified: /trunk/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java ======================================= --- /trunk/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java Thu Jul 23 13:45:16 2009 +++ /trunk/user/test/com/google/gwt/core/client/impl/StackTraceCreatorTest.java Fri Jul 24 16:29:28 2009 @@ -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,9 +97,16 @@ 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); @@ -129,19 +137,20 @@ assertTrue("Did not find " + myName + " in the stack " + observedStack, 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(); } } --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~----------~----~----~----~------~----~------~--~---
