rollback of r5755, we still have some outstanding asserts... I'd thought they were proxy-induced in my setup, since they hadn't shown before, but not so.

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5757 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
index 54243ee..53924db 100644
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ b/dev/core/src/com/google/gwt/dev/GWTShell.java
@@ -90,7 +90,7 @@
   /**
    * Concrete class to implement all shell options.
    */
-  protected static class ShellOptionsImpl extends HostedModeBaseOptionsImpl implements
+  static class ShellOptionsImpl extends HostedModeBaseOptionsImpl implements
       HostedModeBaseOptions, WorkDirs, LegacyCompilerOptions {
     private int localWorkers;
     private File outDir;
diff --git a/dev/core/src/com/google/gwt/dev/HostedModeBase.java b/dev/core/src/com/google/gwt/dev/HostedModeBase.java
index 1a1f59e..9d1d7cc 100644
--- a/dev/core/src/com/google/gwt/dev/HostedModeBase.java
+++ b/dev/core/src/com/google/gwt/dev/HostedModeBase.java
@@ -32,7 +32,6 @@
 import com.google.gwt.dev.shell.ShellModuleSpaceHost;
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableAggressiveOptimization;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableAssertions;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableCastChecking;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableClassMetadata;
 import com.google.gwt.dev.util.arg.ArgHandlerDraftCompile;
@@ -322,7 +321,6 @@
       registerHandler(new ArgHandlerGenDir(options));
       registerHandler(new ArgHandlerScriptStyle(options));
       registerHandler(new ArgHandlerEnableAssertions(options));
-      registerHandler(new ArgHandlerDisableAssertions(options));
       registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
       registerHandler(new ArgHandlerDisableClassMetadata(options));
       registerHandler(new ArgHandlerDisableCastChecking(options));
diff --git a/dev/core/src/com/google/gwt/dev/Precompile.java b/dev/core/src/com/google/gwt/dev/Precompile.java
index aefc3d7..5c28b9e 100644
--- a/dev/core/src/com/google/gwt/dev/Precompile.java
+++ b/dev/core/src/com/google/gwt/dev/Precompile.java
@@ -43,7 +43,6 @@
 import com.google.gwt.dev.util.PerfLogger;
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableAggressiveOptimization;
-import com.google.gwt.dev.util.arg.ArgHandlerDisableAssertions;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableCastChecking;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableClassMetadata;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableRunAsync;
@@ -95,7 +94,6 @@
       registerHandler(new ArgHandlerGenDir(options));
       registerHandler(new ArgHandlerScriptStyle(options));
       registerHandler(new ArgHandlerEnableAssertions(options));
-      registerHandler(new ArgHandlerDisableAssertions(options));
       registerHandler(new ArgHandlerDisableAggressiveOptimization(options));
       registerHandler(new ArgHandlerDisableClassMetadata(options));
       registerHandler(new ArgHandlerDisableCastChecking(options));
diff --git a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDisableAssertions.java b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDisableAssertions.java
deleted file mode 100644
index e84b661..0000000
--- a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDisableAssertions.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*

- * Copyright 2009 Google Inc.

- *

- * Licensed under the Apache License, Version 2.0 (the "License"); you may not

- * use this file except in compliance with the License. You may obtain a copy of

- * the License at

- *

- * http://www.apache.org/licenses/LICENSE-2.0

- *

- * Unless required by applicable law or agreed to in writing, software

- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT

- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the

- * License for the specific language governing permissions and limitations under

- * the License.

- */

-package com.google.gwt.dev.util.arg;

-

-import com.google.gwt.util.tools.ArgHandlerFlag;

-

-/**

- * Handler for -da arg to disable assertions in compiled code.

- */

-public final class ArgHandlerDisableAssertions extends ArgHandlerFlag {

-

-  private final OptionEnableAssertions option;

-

-  public ArgHandlerDisableAssertions(OptionEnableAssertions option) {

-    this.option = option;

-  }

-

-  @Override

-  public String getPurpose() {

-    return "Debugging: disables checking assertion statements in the compiled output.";

-  }

-

-  @Override

-  public String getTag() {

-    return "-da";

-  }

-

-  @Override

-  public boolean setFlag() {

-    option.setEnableAssertions(false);

-    return true;

-  }

-

-}

diff --git a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerEnableAssertions.java b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerEnableAssertions.java
index b2e2f90..9697b1c 100644
--- a/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerEnableAssertions.java
+++ b/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerEnableAssertions.java
@@ -30,7 +30,7 @@
 
   @Override
   public String getPurpose() {
-    return "Debugging: enables checking assertion statements in the compiled output.";
+    return "Debugging: causes the compiled output to check assert statements.";
   }
 
   @Override
diff --git a/dev/core/test/com/google/gwt/dev/GWTShellTest.java b/dev/core/test/com/google/gwt/dev/GWTShellTest.java
index 1e46da0..29ab059 100644
--- a/dev/core/test/com/google/gwt/dev/GWTShellTest.java
+++ b/dev/core/test/com/google/gwt/dev/GWTShellTest.java
@@ -76,16 +76,6 @@
     assertEquals("foo", options.getStartupURLs().get(1));
   }
 
-  public void testAssertionsArgs() {
-    // Assertion is enabled by default in web mode, i.e. -ea flag.
-    assertProcessSuccess(argProcessor, "-ea");
-    assertTrue(options.isEnableAssertions());
-    assertProcessSuccess(argProcessor, "-da");
-    assertFalse(options.isEnableAssertions());   
-    assertProcessSuccess(argProcessor, "-ea");
-    assertTrue(options.isEnableAssertions());
-  }
-
   public void testDefaultArgs() {
     assertProcessSuccess(argProcessor);
 
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 3f69af0..2a11a2b 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -1,12 +1,12 @@
 /*
  * Copyright 2008 Google Inc.
- *
+ * 
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
  * the License at
- *
+ * 
  * http://www.apache.org/licenses/LICENSE-2.0
- *
+ * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -52,26 +52,26 @@
 /**
  * This class is responsible for hosting JUnit test case execution. There are
  * three main pieces to the JUnit system.
- *
+ * 
  * <ul>
  * <li>Test environment</li>
  * <li>Client classes</li>
  * <li>Server classes</li>
  * </ul>
- *
+ * 
  * <p>
  * The test environment consists of this class and the non-translatable version
  * of {@link com.google.gwt.junit.client.GWTTestCase}. These two classes
  * integrate directly into the real JUnit test process.
  * </p>
- *
+ * 
  * <p>
  * The client classes consist of the translatable version of {@link
  * com.google.gwt.junit.client.GWTTestCase}, translatable JUnit classes, and the
  * user's own {@link com.google.gwt.junit.client.GWTTestCase}-derived class.
  * The client communicates to the server via RPC.
  * </p>
- *
+ * 
  * <p>
  * The server consists of {@link com.google.gwt.junit.server.JUnitHostImpl}, an
  * RPC servlet which communicates back to the test environment through a
@@ -330,15 +330,15 @@
 
   /**
    * The amount of time to wait for all clients to have contacted the server and
-   * begin running the test. "Contacted" does not necessarily mean "the test has
-   * begun," e.g. for linker errors stopping the test initialization.
+   * begin running the test.  "Contacted" does not necessarily mean "the test
+   * has begun," e.g. for linker errors stopping the test initialization.
    */
   private static final int TEST_BEGIN_TIMEOUT_MILLIS = 60000;
 
   /**
    * The amount of time to wait for all clients to complete a single test
-   * method, in milliseconds, measured from when the <i>last</i> client
-   * connects (and thus starts the test). 5 minutes.
+   * method, in milliseconds, measured from when the <i>last</i> client 
+   * connects (and thus starts the test).  5 minutes.
    */
   private static final long TEST_METHOD_TIMEOUT_MILLIS = 300000;
 
@@ -351,7 +351,7 @@
   /**
    * Called by {@link com.google.gwt.junit.server.JUnitHostImpl} to get an
    * interface into the test process.
-   *
+   * 
    * @return The {@link JUnitMessageQueue} interface that belongs to the
    *         singleton {@link JUnitShell}, or <code>null</code> if no such
    *         singleton exists.
@@ -503,9 +503,9 @@
   private long testBeginTimeout;
 
   /**
-   * Timeout for individual test method. If System.currentTimeMillis() is later
-   * than this timestamp, then we need to pack up and go home. Zero for "not yet
-   * set" (at the start of a test). This interval begins when the
+   * Timeout for individual test method.  If System.currentTimeMillis() is later
+   * than this timestamp, then we need to pack up and go home.  Zero for "not
+   * yet set" (at the start of a test).  This interval begins when the
    * testBeginTimeout interval is done.
    */
   private long testMethodTimeout;
@@ -522,9 +522,6 @@
     if (System.getProperty(PROP_JUNIT_HYBRID_MODE) != null) {
       runStyle = new RunStyleLocalWeb(this);
     }
-    // If no explicit disable argument presented,
-    // Enables assertions by default in all tests
-    options.setEnableAssertions(true);
   }
 
   @Override
@@ -589,12 +586,11 @@
       } else if (testMethodTimeout < currentTimeMillis) {
         double elapsed = (currentTimeMillis - testBeginTime) / 1000.0;
         throw new TimeoutException(
-            "The browser did not complete the test method "
+            "The browser did not complete the test method " 
                 + messageQueue.getCurrentTestName() + " in "
-                + TEST_METHOD_TIMEOUT_MILLIS
-                + "ms.\n  We have no results from: "
-                + messageQueue.getWorkingClients() + "\n Actual time elapsed: "
-                + elapsed + " seconds.\n");
+                + TEST_METHOD_TIMEOUT_MILLIS + "ms.\n  We have no results from: "
+                + messageQueue.getWorkingClients()
+                + "\n Actual time elapsed: " + elapsed + " seconds.\n");
       }
     } else if (testBeginTimeout < currentTimeMillis) {
       double elapsed = (currentTimeMillis - testBeginTime) / 1000.0;
@@ -672,8 +668,9 @@
       currentModule.clearEntryPoints();
       currentModule.addEntryPointTypeName(GWTRunner.class.getName());
       // Squirrel away the name of the active module for GWTRunnerGenerator
-      ConfigurationProperty moduleNameProp = currentModule.getProperties().createConfiguration(
-          "junit.moduleName", false);
+      ConfigurationProperty moduleNameProp
+          = currentModule.getProperties().createConfiguration(
+              "junit.moduleName", false);
       moduleNameProp.setValue(moduleName);
       runStyle.maybeCompileModule(syntheticModuleName);
     }
@@ -704,7 +701,7 @@
       // contacted; something probably went wrong (the module failed to load?)
       testBeginTime = System.currentTimeMillis();
       testBeginTimeout = testBeginTime + TEST_BEGIN_TIMEOUT_MILLIS;
-      testMethodTimeout = 0; // wait until test execution begins
+      testMethodTimeout = 0;  // wait until test execution begins
       pumpEventLoop();
     } catch (TimeoutException e) {
       lastLaunchFailed = true;
diff --git a/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java b/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
index dbce651..1f71d9b 100644
--- a/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
@@ -22,10 +22,9 @@
  * possible in the Java to JavaScript compiler. This test is not at all intended
  * to execute correctly.
  */
+@SuppressWarnings("hiding")
 public class CoverageTest extends CoverageBase {
 
-  private static final double EPSILON = 0.000001;
-
   /**
    * TODO: document me.
    */
@@ -197,8 +196,7 @@
         assert i == 3 : 1.2f;
         fail();
       } catch (AssertionError e) {
-        double val = Double.parseDouble(e.getMessage());
-        assertTrue(Math.abs(1.2f - val) < EPSILON);
+        assertEquals("1.2", e.getMessage());
       }
 
       try {
@@ -516,7 +514,6 @@
       o = new CoverageTest().new Inner();
     }
 
-    @SuppressWarnings("static-access")
     private void testQualifiedNameReference() {
       // QualifiedNameReference
       CoverageTest m = new CoverageTest();
@@ -536,7 +533,6 @@
       assertEquals("D", 4, new CoverageTest().getNext().y);
     }
 
-    @SuppressWarnings("static-access")
     private void testReferenceCalls() {
       // MessageSend, QualifiedSuperReference, QualifiedThisReference,
       // SuperReference, ThisReference
@@ -561,7 +557,6 @@
       CoverageTest.super.sfoo();
     }
 
-    @SuppressWarnings("static-access")
     private Inner testReferences() {
       // FieldReference, QualifiedSuperReference, QualifiedThisReference,
       // SuperReference, ThisReference
@@ -603,7 +598,6 @@
       fail();
     }
 
-    @SuppressWarnings("static-access")
     private void testSynchronizedStatement() {
       // SynchronizedStatement
       synchronized (inner) {
diff --git a/user/test/com/google/gwt/event/shared/HandlerManagerTest.java b/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
index acd4865..9d9dbaf 100644
--- a/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
+++ b/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
@@ -202,22 +202,24 @@
     };

     manager.addHandler(MouseDownEvent.getType(), one);

 

-    if (HandlerManagerTest.class.desiredAssertionStatus()) {

+    if (!GWT.isScript()) {

       try {

         manager.fireEvent(new MouseDownEvent() {

         });

         fail("Should have thrown on remove");

       } catch (AssertionError e) { /* pass */

       }

-    } else {

-      manager.fireEvent(new MouseDownEvent() {

-      });

-      assertFired(one);

-      reset();

-      manager.fireEvent(new MouseDownEvent() {

-      });

-      assertFired(one, mouse1);

+      return;

     }

+

+    // Web mode, no asserts, so remove will quietly succeed.

+    manager.fireEvent(new MouseDownEvent() {

+    });

+    assertFired(one);

+    reset();

+    manager.fireEvent(new MouseDownEvent() {

+    });

+    assertFired(one, mouse1);

   }

 

   public void testMultiFiring() {