Makes new -setProperty flag work with JUnit.

Change-Id: I768bfa4365163e925685ce97cba4206586bf7cbc
Review-Link: https://gwt-review.googlesource.com/#/c/10890/
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index fc6e414..b43614a 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -60,6 +60,7 @@
 import com.google.gwt.dev.util.arg.ArgHandlerNamespace;
 import com.google.gwt.dev.util.arg.ArgHandlerOptimize;
 import com.google.gwt.dev.util.arg.ArgHandlerScriptStyle;
+import com.google.gwt.dev.util.arg.ArgHandlerSetProperties;
 import com.google.gwt.dev.util.arg.ArgHandlerSourceLevel;
 import com.google.gwt.dev.util.arg.ArgHandlerWarDir;
 import com.google.gwt.dev.util.arg.ArgHandlerWorkDirOptional;
@@ -286,6 +287,9 @@
       registerHandler(new ArgHandlerLocalWorkers(options));
       registerHandler(new ArgHandlerNamespace(options));
       registerHandler(new ArgHandlerOptimize(options));
+      registerHandler(new ArgHandlerIncrementalCompile(options));
+      registerHandler(new ArgHandlerJsInteropMode(options));
+      registerHandler(new ArgHandlerSetProperties(options));
 
       /*
        * ----- Options specific to JUnitShell -----
@@ -532,9 +536,6 @@
           return true;
         }
       });
-
-      registerHandler(new ArgHandlerIncrementalCompile(options));
-      registerHandler(new ArgHandlerJsInteropMode(options));
     }
 
     @Override
@@ -1079,6 +1080,11 @@
         bindingProperty.setRootGeneratedValues(userAgents.toArray(new String[0]));
       }
     }
+
+    if (!Compiler.maybeRestrictProperties(getTopLogger(), module, options.getProperties())) {
+      throw new UnableToCompleteException();
+    }
+
     boolean success = false;
     try {
       success = new Compiler(options).run(getTopLogger(), module);