Skip to content

Commit bded68b

Browse files
authored
Disabling draft mode shouldn't force namespace=package (#10164)
Fixes #10163
1 parent 2b6f856 commit bded68b

File tree

3 files changed

+51
-6
lines changed

3 files changed

+51
-6
lines changed

dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerDraftCompile.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public boolean setFlag(boolean value) {
6363

6464
clusterSimilarFunctionsOption.setClusterSimilarFunctions(!value);
6565
inlineLiteralParametersOption.setInlineLiteralParameters(!value);
66-
namespaceOption.setNamespace(JsNamespaceOption.PACKAGE);
66+
namespaceOption.setNamespace(value ? JsNamespaceOption.PACKAGE : JsNamespaceOption.NONE);
6767
if (value) {
6868
optimizeDataflowOption.setOptimizeDataflow(false);
6969
}

dev/core/test/com/google/gwt/dev/ArgProcessorBaseTest.java

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@
1616
package com.google.gwt.dev;
1717

1818
import com.google.gwt.dev.jjs.JJSOptionsImpl;
19+
import com.google.gwt.dev.jjs.JsOutputOption;
20+
import com.google.gwt.dev.js.JsNamespaceOption;
1921
import com.google.gwt.dev.util.arg.ArgHandlerDraftCompile;
2022
import com.google.gwt.dev.util.arg.ArgHandlerOptimize;
23+
import com.google.gwt.dev.util.arg.OptionMethodNameDisplayMode;
24+
import com.google.gwt.dev.util.arg.SourceLevel;
2125

2226
/**
2327
* Test for {@link ArgProcessorBase}.
@@ -44,17 +48,58 @@ public ArgProcessorBaseTest() {
4448
}
4549

4650
public void testOptionOrderIsPrecedenceArgs() {
47-
assertProcessSuccess(argProcessor, new String[0]);
51+
assertProcessSuccess(argProcessor);
4852
assertEquals(9, options.getOptimizationLevel());
4953

50-
assertProcessSuccess(argProcessor, new String[] {"-optimize", "5"});
54+
assertProcessSuccess(argProcessor, "-optimize", "5");
5155
assertEquals(5, options.getOptimizationLevel());
5256

53-
assertProcessSuccess(argProcessor, new String[] {"-optimize", "5", "-draftCompile"});
57+
assertProcessSuccess(argProcessor, "-optimize", "5", "-draftCompile");
5458
assertEquals(0, options.getOptimizationLevel());
5559

5660
assertProcessSuccess(argProcessor,
57-
new String[] {"-optimize", "5", "-draftCompile", "-optimize", "9"});
61+
"-optimize", "5", "-draftCompile", "-optimize", "9");
5862
assertEquals(9, options.getOptimizationLevel());
5963
}
64+
65+
public void testNoDraftMeansDefaults() {
66+
assertProcessSuccess(argProcessor);
67+
assertDefaults();
68+
69+
assertProcessSuccess(argProcessor, "-nodraftCompile");
70+
assertDefaults();
71+
}
72+
73+
/**
74+
* For each field in JJSOptionsImpl, verify it is set to the default value.
75+
*/
76+
private void assertDefaults() {
77+
assertEquals(false, options.shouldAddRuntimeChecks());
78+
assertEquals(true, options.shouldClusterSimilarFunctions());
79+
assertEquals(false, options.isIncrementalCompileEnabled());
80+
assertEquals(false, options.isCompilerMetricsEnabled());
81+
assertEquals(false, options.isClassMetadataDisabled());
82+
assertEquals(false, options.isEnableAssertions());
83+
assertEquals(-1, options.getFragmentCount());
84+
assertEquals(true, options.shouldInlineLiteralParameters());
85+
assertEquals(false, options.isJsonSoycEnabled());
86+
assertEquals(JsNamespaceOption.NONE, options.getNamespace());
87+
assertEquals(9, options.getOptimizationLevel());
88+
assertEquals(false, options.shouldOptimizeDataflow());
89+
assertEquals(true, options.shouldOrdinalizeEnums());
90+
assertEquals(JsOutputOption.OBFUSCATED, options.getOutput());
91+
assertEquals(true, options.shouldRemoveDuplicateFunctions());
92+
assertEquals(true, options.isRunAsyncEnabled());
93+
assertEquals(SourceLevel.DEFAULT_SOURCE_LEVEL, options.getSourceLevel());
94+
assertEquals(false, options.isSoycEnabled());
95+
assertEquals(false, options.isSoycExtra());
96+
assertEquals(false, options.isSoycHtmlDisabled());
97+
assertEquals(false, options.isStrict());
98+
assertEquals(false, options.shouldGenerateJsInteropExports());
99+
assertEquals(false, options.useDetailedTypeIds());
100+
assertEquals(OptionMethodNameDisplayMode.Mode.NONE,
101+
options.getMethodNameDisplayMode());
102+
// deliberately skipping the jsInteropExportFilter field, empty state isn't exposed
103+
assertEquals(false, options.isClosureCompilerFormatEnabled());
104+
}
60105
}

dev/core/test/com/google/gwt/dev/ArgProcessorTestBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ protected static void assertProcessFailure(ArgProcessorBase argProcessor,
4444
}
4545

4646
protected static void assertProcessSuccess(ArgProcessorBase argProcessor,
47-
String[] args) {
47+
String... args) {
4848
PrintStream oldErrStream = System.err;
4949
ByteArrayOutputStream myErrStream = new ByteArrayOutputStream();
5050
try {

0 commit comments

Comments
 (0)