diff --git a/src/com/google/javascript/jscomp/CheckMissingAndExtraRequires.java b/src/com/google/javascript/jscomp/CheckMissingAndExtraRequires.java index 1e47afc254f..02aa75c9fd0 100644 --- a/src/com/google/javascript/jscomp/CheckMissingAndExtraRequires.java +++ b/src/com/google/javascript/jscomp/CheckMissingAndExtraRequires.java @@ -319,13 +319,10 @@ private void visitScriptNode() { private boolean isMissingRequire(String namespace, Node node) { if (namespace.startsWith("goog.global.") // Most functions in base.js are goog.someName, but - // goog.module.{get,declareLegacyNamespace,declareNamespace} are the exceptions, so just + // goog.module.{get,declareLegacyNamespace} are the exceptions, so just // check for them explicitly. || namespace.equals("goog.module.get") - || namespace.equals("goog.module.declareLegacyNamespace") - // TODO(johnplaisted): Consolidate on declareModuleId. - || namespace.equals("goog.module.declareNamespace") - || namespace.equals("goog.declareModuleId")) { + || namespace.equals("goog.module.declareLegacyNamespace")) { return false; } diff --git a/src/com/google/javascript/jscomp/CompilerInput.java b/src/com/google/javascript/jscomp/CompilerInput.java index 1329370ef0d..071e4620d7b 100644 --- a/src/com/google/javascript/jscomp/CompilerInput.java +++ b/src/com/google/javascript/jscomp/CompilerInput.java @@ -426,8 +426,7 @@ void visitSubtree(Node n, Node parent) { } } else if (parent.isGetProp() // TODO(johnplaisted): Consolidate on declareModuleId - && (parent.matchesQualifiedName("goog.module.declareNamespace") - || parent.matchesQualifiedName("goog.declareModuleId")) + && parent.matchesQualifiedName("goog.declareModuleId") && parent.getParent().isCall()) { Node argument = parent.getParent().getSecondChild(); if (!argument.isString()) { diff --git a/src/com/google/javascript/jscomp/Es6RewriteModules.java b/src/com/google/javascript/jscomp/Es6RewriteModules.java index ffaca9e836f..34d5c36b7be 100644 --- a/src/com/google/javascript/jscomp/Es6RewriteModules.java +++ b/src/com/google/javascript/jscomp/Es6RewriteModules.java @@ -378,8 +378,7 @@ public void visit(NodeTraversal t, Node n, Node parent) { visitScript(t, n); } else if (n.isCall()) { // TODO(johnplaisted): Consolidate on declareModuleId. - if (n.getFirstChild().matchesQualifiedName("goog.module.declareNamespace") - || n.getFirstChild().matchesQualifiedName("goog.declareModuleId")) { + if (n.getFirstChild().matchesQualifiedName("goog.declareModuleId")) { n.getParent().detach(); } } diff --git a/src/com/google/javascript/jscomp/conformance.proto b/src/com/google/javascript/jscomp/conformance.proto index 2d91e272f7c..876526358bf 100644 --- a/src/com/google/javascript/jscomp/conformance.proto +++ b/src/com/google/javascript/jscomp/conformance.proto @@ -85,7 +85,7 @@ message Requirement { // - A namespaced value or type: namespace.Banned // - A 'static' property: "namespace.Foo.banned" // TODO(b/112325992): If namespace.Banned is a goog.module that does not - // call goog.module.declareNamespace, the rule will not match. + // call goog.declareModuleId, the rule will not match. BANNED_NAME = 3; // A banned instance property, for example: diff --git a/src/com/google/javascript/jscomp/deps/JsFileParser.java b/src/com/google/javascript/jscomp/deps/JsFileParser.java index e0e9072bed1..c4ee9e022bc 100644 --- a/src/com/google/javascript/jscomp/deps/JsFileParser.java +++ b/src/com/google/javascript/jscomp/deps/JsFileParser.java @@ -54,7 +54,7 @@ public final class JsFileParser extends JsFileLineParser { "(?:^|;)(?:[a-zA-Z0-9$_,:{}\\s]+=)?\\s*" + "goog\\.(?provide|module|require|requireType|addDependency|declareModuleId)" // TODO(johnplaisted): Remove declareNamespace. - + "(?\\.declareNamespace)?\\s*\\((?.*?)\\)"); + + "\\s*\\((?.*?)\\)"); /** * Pattern for matching import ... from './path/to/file'. @@ -301,8 +301,7 @@ protected boolean parseLine(String line) throws ParseException { // See if it's a require or provide. String methodName = googMatcher.group("func"); char firstChar = methodName.charAt(0); - boolean isDeclareModuleNamespace = - firstChar == 'd' || (firstChar == 'm' && googMatcher.group("subfunc") != null); + boolean isDeclareModuleNamespace = firstChar == 'd'; boolean isModule = !isDeclareModuleNamespace && firstChar == 'm'; boolean isProvide = firstChar == 'p'; boolean providesNamespace = isProvide || isModule || isDeclareModuleNamespace; diff --git a/src/com/google/javascript/jscomp/ijs/ConvertToTypedInterface.java b/src/com/google/javascript/jscomp/ijs/ConvertToTypedInterface.java index 5eb59091d3c..bced41b1f79 100644 --- a/src/com/google/javascript/jscomp/ijs/ConvertToTypedInterface.java +++ b/src/com/google/javascript/jscomp/ijs/ConvertToTypedInterface.java @@ -76,9 +76,7 @@ public class ConvertToTypedInterface implements CompilerPass { "goog.forwardDeclare", "goog.module", "goog.module.declareLegacyNamespace", - // TODO(johnplaisted): Consolidate on declareModuleId / delete declareNamespace. "goog.declareModuleId", - "goog.module.declareNamespace", "goog.provide", "goog.require", "goog.requireType"); diff --git a/src/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructure.java b/src/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructure.java index e2649ea8242..f82cc72adee 100644 --- a/src/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructure.java +++ b/src/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructure.java @@ -98,9 +98,7 @@ private void checkOrder(NodeTraversal t, Node n, OrderedStatement statement) { private boolean visitExprResult(NodeTraversal t, Node exprResult, Node parent) { if (parent.isModuleBody() && exprResult.getFirstChild().isCall()) { Node call = exprResult.getFirstChild(); - // TODO(johnplaisted): Remove declareNamespace. - if (call.getFirstChild().matchesQualifiedName("goog.module.declareNamespace") - || call.getFirstChild().matchesQualifiedName("goog.declareModuleId")) { + if (call.getFirstChild().matchesQualifiedName("goog.declareModuleId")) { checkOrder(t, call, OrderedStatement.DECLARE_MODULE_ID); return false; } else if (call.getFirstChild().matchesQualifiedName("goog.require")) { diff --git a/test/com/google/javascript/jscomp/Es6RewriteModulesWithGoogInteropTest.java b/test/com/google/javascript/jscomp/Es6RewriteModulesWithGoogInteropTest.java index 3cc512e2066..b6392e7aed8 100644 --- a/test/com/google/javascript/jscomp/Es6RewriteModulesWithGoogInteropTest.java +++ b/test/com/google/javascript/jscomp/Es6RewriteModulesWithGoogInteropTest.java @@ -373,18 +373,7 @@ public void testGoogModuleGetForEs6Module() { public void testGoogModuleGetForEs6ModuleDeclaresNamespace() { test( srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), - SourceFile.fromCode( - "closure.js", - "goog.module('my.module'); function f() { const y = goog.module.get('es6'); }")), - expected( - SourceFile.fromCode("es6.js", "/** @const */ var module$es6 = {};"), - SourceFile.fromCode( - "closure.js", "goog.module('my.module'); function f() { const y = module$es6; }"))); - - test( - srcs( - SourceFile.fromCode("es6.js", "export let y; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export let y; goog.declareModuleId('es6');"), SourceFile.fromCode( "closure.js", "goog.module('my.module'); function f() { return goog.module.get('es6').y; }")), @@ -415,10 +404,10 @@ public void testDeclareModuleId() { } @Test - public void testGoogRequireForDeclareNamespace() { + public void testGoogRequireForDeclareModuleId() { test( srcs( - SourceFile.fromCode("es6.js", "export var x; goog.module.declareNamespace('my.es6');"), + SourceFile.fromCode("es6.js", "export var x; goog.declareModuleId('my.es6');"), SourceFile.fromCode("goog.js", "const es6 = goog.require('my.es6'); use(es6, es6.x);")), expected( SourceFile.fromCode( @@ -430,10 +419,10 @@ public void testGoogRequireForDeclareNamespace() { } @Test - public void testGoogRequireTypeForDeclareNamespace() { + public void testGoogRequireTypeForDeclareModuleId() { test( srcs( - SourceFile.fromCode("es6.js", "export var x; goog.module.declareNamespace('my.es6');"), + SourceFile.fromCode("es6.js", "export var x; goog.declareModuleId('my.es6');"), SourceFile.fromCode( "goog.js", lines( @@ -462,11 +451,10 @@ public void testGoogRequireTypeForDeclareNamespace() { } @Test - public void testGoogRequireForDeclareNamespaceWithDestructure() { + public void testGoogRequireForDeclareModuleIdWithDestructure() { test( srcs( - SourceFile.fromCode( - "es6.js", "export var x, z; goog.module.declareNamespace('my.es6');"), + SourceFile.fromCode("es6.js", "export var x, z; goog.declareModuleId('my.es6');"), SourceFile.fromCode("goog.js", "const {x, z: y} = goog.require('my.es6'); use(x, y);")), expected( SourceFile.fromCode( @@ -482,11 +470,10 @@ public void testGoogRequireForDeclareNamespaceWithDestructure() { } @Test - public void testGoogRequireTypeForDeclareNamespaceWithDestructure() { + public void testGoogRequireTypeForDeclareModuleIdWithDestructure() { test( srcs( - SourceFile.fromCode( - "es6.js", "export var x, z; goog.module.declareNamespace('my.es6');"), + SourceFile.fromCode("es6.js", "export var x, z; goog.declareModuleId('my.es6');"), SourceFile.fromCode( "goog.js", lines( @@ -806,58 +793,11 @@ public void testForwardDeclareEs6Module() { FORWARD_DECLARE_FOR_ES6_SHOULD_BE_CONST); } - @Test - public void testForwardDeclareEs6ModuleDeclareNamespace() { - test( - srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), - SourceFile.fromCode( - "closure.js", - lines( - "goog.module('my.module');", - "const alias = goog.forwardDeclare('es6');", - "let /** !alias.Type */ x;", - "alias;"))), - expected( - SourceFile.fromCode("es6.js", "/** @const */ var module$es6 = {};"), - SourceFile.fromCode( - "closure.js", - lines("goog.module('my.module');", "let /** !module$es6.Type */ x;", "alias;")))); - - test( - srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), - SourceFile.fromCode( - "closure.js", - lines( - "goog.module('my.module');", - "goog.forwardDeclare('es6');", - "let /** !es6.Type */ x;", - "es6;"))), - expected( - SourceFile.fromCode("es6.js", "/** @const */ var module$es6 = {};"), - SourceFile.fromCode( - "closure.js", - lines("goog.module('my.module');", "let /** !module$es6.Type */ x;", "es6;")))); - - testError( - ImmutableList.of( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), - SourceFile.fromCode( - "closure.js", - lines( - "goog.module('my.module');", - "let alias = goog.forwardDeclare('es6');", - "let /** !alias.Type */ x;", - "alias = goog.modle.get('es6');"))), - FORWARD_DECLARE_FOR_ES6_SHOULD_BE_CONST); - } - @Test public void testWarnAboutRequireEs6FromEs6() { test( srcs( - SourceFile.fromCode("first.js", "goog.module.declareNamespace('first'); export {};"), + SourceFile.fromCode("first.js", "goog.declareModuleId('first'); export {};"), SourceFile.fromCode( "second.js", "const first = goog.require('first'); export {first};")), expected( @@ -872,7 +812,7 @@ public void testWarnAboutRequireEs6FromEs6() { test( srcs( - SourceFile.fromCode("first.js", "goog.module.declareNamespace('no.alias'); export {};"), + SourceFile.fromCode("first.js", "goog.declareModuleId('no.alias'); export {};"), SourceFile.fromCode("second.js", "goog.require('no.alias'); export {};")), expected( SourceFile.fromCode("first.js", "/** @const */ var module$first = {};"), @@ -886,7 +826,7 @@ public void testGoogRequireTypeEs6ModuleInEs6Module() { test( srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export {}; goog.declareModuleId('es6');"), SourceFile.fromCode( "requiretype.js", lines( @@ -903,7 +843,7 @@ public void testGoogRequireTypeEs6ModuleInEs6Module() { test( srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export {}; goog.declareModuleId('es6');"), SourceFile.fromCode( "requiretype.js", lines("export {};", "goog.requireType('es6');", "let /** !es6.Type */ x;"))), @@ -920,7 +860,7 @@ public void testGoogRequireTypeEs6ModuleInEs6Module() { public void testGoogModuleGetEs6ModuleInEs6Module() { test( srcs( - SourceFile.fromCode("first.js", "goog.module.declareNamespace('first'); export let x;"), + SourceFile.fromCode("first.js", "goog.declareModuleId('first'); export let x;"), SourceFile.fromCode( "second.js", "export function foo() { return goog.module.get('first').x; }")), expected( @@ -944,7 +884,7 @@ public void testGoogModuleGetEs6ModuleInEs6Module() { public void testForwardDeclareEs6ModuleInEs6Module() { test( srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export {}; goog.declareModuleId('es6');"), SourceFile.fromCode( "forwarddeclare.js", lines( @@ -963,7 +903,7 @@ public void testForwardDeclareEs6ModuleInEs6Module() { test( srcs( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export {}; goog.declareModuleId('es6');"), SourceFile.fromCode( "forwarddeclare.js", lines( @@ -982,7 +922,7 @@ public void testForwardDeclareEs6ModuleInEs6Module() { testError( ImmutableList.of( - SourceFile.fromCode("es6.js", "export {}; goog.module.declareNamespace('es6');"), + SourceFile.fromCode("es6.js", "export {}; goog.declareModuleId('es6');"), SourceFile.fromCode( "closure.js", lines( diff --git a/test/com/google/javascript/jscomp/GatherModuleMetadataTest.java b/test/com/google/javascript/jscomp/GatherModuleMetadataTest.java index 932db9c8112..044b1b7a682 100644 --- a/test/com/google/javascript/jscomp/GatherModuleMetadataTest.java +++ b/test/com/google/javascript/jscomp/GatherModuleMetadataTest.java @@ -379,25 +379,16 @@ public void testEs6ModuleDeclareModuleId() { } @Test - public void testEs6ModuleDeclareNamespace() { - testSame("export var x; goog.module.declareNamespace('my.module');"); - assertThat(metadataMap().getModulesByGoogNamespace().keySet()).containsExactly("my.module"); - ModuleMetadata m = metadataMap().getModulesByGoogNamespace().get("my.module"); - assertThat(m.googNamespaces()).containsExactly("my.module"); - assertThat(m.isEs6Module()).isTrue(); - assertThat(m.isGoogModule()).isFalse(); - } - - @Test - public void testEs6ModuleDeclareNamespaceImportedGoog() { + public void testEs6ModuleDeclareModuleIdImportedGoog() { testSame( ImmutableList.of( SourceFile.fromCode("goog.js", ""), SourceFile.fromCode( - "testcode", lines( + "testcode", + lines( "import * as goog from './goog.js';", "export var x;", - "goog.module.declareNamespace('my.module');")))); + "goog.declareModuleId('my.module');")))); assertThat(metadataMap().getModulesByGoogNamespace().keySet()).containsExactly("my.module"); ModuleMetadata m = metadataMap().getModulesByGoogNamespace().get("my.module"); assertThat(m.googNamespaces()).containsExactly("my.module"); @@ -441,12 +432,12 @@ public void testDuplicateProvideAndGoogModule() { public void testDuplicateProvideAndEs6Module() { testError( new String[] { - "goog.provide('duplciated');", "export {}; goog.module.declareNamespace('duplciated');" + "goog.provide('duplciated');", "export {}; goog.declareModuleId('duplciated');" }, ClosureRewriteModule.DUPLICATE_NAMESPACE); testError( new String[] { - "export {}; goog.module.declareNamespace('duplciated');", "goog.provide('duplciated');" + "export {}; goog.declareModuleId('duplciated');", "goog.provide('duplciated');" }, ClosureRewriteModule.DUPLICATE_MODULE); } @@ -462,12 +453,12 @@ public void testDuplicateGoogModules() { public void testDuplicateGoogAndEs6Module() { testError( new String[] { - "goog.module('duplciated');", "export {}; goog.module.declareNamespace('duplciated');" + "goog.module('duplciated');", "export {}; goog.declareModuleId('duplciated');" }, ClosureRewriteModule.DUPLICATE_MODULE); testError( new String[] { - "export {}; goog.module.declareNamespace('duplciated');", "goog.module('duplciated');" + "export {}; goog.declareModuleId('duplciated');", "goog.module('duplciated');" }, ClosureRewriteModule.DUPLICATE_MODULE); } @@ -476,14 +467,14 @@ public void testDuplicateGoogAndEs6Module() { public void testDuplicatEs6Modules() { testError( new String[] { - "export {}; goog.module.declareNamespace('duplciated');", - "export {}; goog.module.declareNamespace('duplciated');" + "export {}; goog.declareModuleId('duplciated');", + "export {}; goog.declareModuleId('duplciated');" }, ClosureRewriteModule.DUPLICATE_MODULE); testError( new String[] { - "export {}; goog.module.declareNamespace('duplciated');", - "export {}; goog.module.declareNamespace('duplciated');" + "export {}; goog.declareModuleId('duplciated');", + "export {}; goog.declareModuleId('duplciated');" }, ClosureRewriteModule.DUPLICATE_MODULE); } @@ -596,7 +587,7 @@ public void testSetTestOnlyWithInvalidArg() { @Test public void testGatherFromExterns() { // js_lib will put data in externs for .i.js files. - test(externs("export var x; goog.module.declareNamespace('my.module');"), srcs("")); + test(externs("export var x; goog.declareModuleId('my.module');"), srcs("")); assertThat(metadataMap().getModulesByGoogNamespace().keySet()).containsExactly("my.module"); ModuleMetadata m = metadataMap().getModulesByGoogNamespace().get("my.module"); assertThat(m.googNamespaces()).containsExactly("my.module"); diff --git a/test/com/google/javascript/jscomp/deps/DepsGeneratorTest.java b/test/com/google/javascript/jscomp/deps/DepsGeneratorTest.java index 83efab080df..ac5b15fe927 100644 --- a/test/com/google/javascript/jscomp/deps/DepsGeneratorTest.java +++ b/test/com/google/javascript/jscomp/deps/DepsGeneratorTest.java @@ -169,51 +169,6 @@ public void testEs6ModuleDeclareModuleId() throws Exception { assertThat(output).isEqualTo(expected); } - @Test - public void testEs6ModuleDeclareNamespace() throws Exception { - List srcs = new ArrayList<>(); - srcs.add( - SourceFile.fromCode( - "/base/javascript/foo/foo.js", - "goog.module.declareNamespace('my.namespace');\nexport {};")); - srcs.add( - SourceFile.fromCode( - "/base/javascript/closure/goog/googmodule.js", - LINE_JOINER.join( - "goog.module('my.goog.module');", - "const namespace = goog.require('my.namespace');"))); - DepsGenerator depsGenerator = - new DepsGenerator( - ImmutableList.of(), - srcs, - DepsGenerator.InclusionStrategy.ALWAYS, - "/base/javascript/closure", - errorManager, - new ModuleLoader( - null, - ImmutableList.of("/base/"), - ImmutableList.of(), - BrowserModuleResolver.FACTORY, - ModuleLoader.PathResolver.ABSOLUTE)); - String output = depsGenerator.computeDependencyCalls(); - - assertNoWarnings(); - - // Write the output. - assertWithMessage("There should be output").that(output).isNotEmpty(); - - // Write the expected output. - String expected = - LINE_JOINER.join( - "goog.addDependency('../foo/foo.js', ['my.namespace'], " - + "[], {'lang': 'es6', 'module': 'es6'});", - "goog.addDependency('goog/googmodule.js', ['my.goog.module'], ['my.namespace'], " - + "{'lang': 'es6', 'module': 'goog'});", - ""); - - assertThat(output).isEqualTo(expected); - } - // Unit test for an issue run into by https://github.com/google/closure-compiler/pull/3026 @Test public void testEs6ModuleScanDeps() throws Exception { diff --git a/test/com/google/javascript/jscomp/deps/JsFileParserTest.java b/test/com/google/javascript/jscomp/deps/JsFileParserTest.java index 0a8bd7b165f..6e9114d5f35 100644 --- a/test/com/google/javascript/jscomp/deps/JsFileParserTest.java +++ b/test/com/google/javascript/jscomp/deps/JsFileParserTest.java @@ -340,29 +340,6 @@ public void testParseEs6ModuleWithGoogProvide() { assertThat(errorManager.getWarnings().get(0).getType()).isEqualTo(ModuleLoader.MODULE_CONFLICT); } - @Test - public void testEs6ModuleWithDeclareNamespace() { - ModuleLoader loader = - new ModuleLoader( - null, - ImmutableList.of("/foo"), - ImmutableList.of(), - BrowserModuleResolver.FACTORY); - - String contents = "goog.module.declareNamespace('my.namespace');\nexport {};"; - - DependencyInfo expected = - SimpleDependencyInfo.builder("../bar/baz.js", "/foo/js/bar/baz.js") - .setProvides(ImmutableList.of("my.namespace", "module$js$bar$baz")) - .setLoadFlags(ImmutableMap.of("module", "es6")) - .build(); - - DependencyInfo result = - parser.setModuleLoader(loader).parseFile("/foo/js/bar/baz.js", "../bar/baz.js", contents); - - assertDeps(expected, result); - } - @Test public void testEs6ModuleWithDeclareModuleId() { ModuleLoader loader = diff --git a/test/com/google/javascript/jscomp/ijs/ConvertToTypedInterfaceTest.java b/test/com/google/javascript/jscomp/ijs/ConvertToTypedInterfaceTest.java index 0e4d37a78a6..0b4ac53adb2 100644 --- a/test/com/google/javascript/jscomp/ijs/ConvertToTypedInterfaceTest.java +++ b/test/com/google/javascript/jscomp/ijs/ConvertToTypedInterfaceTest.java @@ -945,13 +945,6 @@ public void testEs6ModulesDeclareModuleId() { testSame(lines("goog.declareModuleId('foo');", "/** @type {number} */ export var x;")); } - @Test - public void testEs6ModulesDeclareNamespace() { - testSame( - lines( - "goog.module.declareNamespace('foo');", "/** @type {number} */ export var x;")); - } - @Test public void testGoogModules() { testSame( diff --git a/test/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructureTest.java b/test/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructureTest.java index 1eff5ef93d7..1fbfcbd4f9c 100644 --- a/test/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructureTest.java +++ b/test/com/google/javascript/jscomp/lint/CheckEs6ModuleFileStructureTest.java @@ -44,22 +44,12 @@ public void testImportsMustBeFirstIfPresent() { @Test public void testDeclareModuleIdAfterImportsIfPresent() { testSame("import noDeclareNamespace from 'file';"); - testSame("goog.declareModuleId('name.space'); export let noImports;"); - testSame("goog.module.declareNamespace('name.space'); export let noImports;"); - testSame("import first from 'file'; goog.declareModuleId('name.space');"); - testSame("import first from 'file'; goog.module.declareNamespace('name.space');"); - testWarning("export let first; goog.declareModuleId('name.space');", MUST_COME_BEFORE); - testWarning("export let first; goog.module.declareNamespace('name.space');", MUST_COME_BEFORE); - testWarning( "import first from 'file'; let second; goog.declareModuleId('name.space');", MUST_COME_BEFORE); - testWarning( - "import first from 'file'; let second; goog.module.declareNamespace('name.space');", - MUST_COME_BEFORE); } @Test @@ -71,9 +61,9 @@ public void testGoogRequireAfterImportsAndDeclareNamesButBeforeOthers() { testSame("const bar = goog.require('bar'); export {};"); testSame("export {}; const bar = goog.require('bar');", MUST_COME_BEFORE); - testSame("goog.module.declareNamespace('name'); const bar = goog.require('bar'); export {};"); + testSame("goog.declareModuleId('name'); const bar = goog.require('bar'); export {};"); testWarning( - "const bar = goog.require('bar'); goog.module.declareNamespace('name'); export {};", + "const bar = goog.require('bar'); goog.declareModuleId('name'); export {};", MUST_COME_BEFORE); testSame("import 'file'; const bar = goog.require('bar');"); @@ -85,7 +75,7 @@ public void testGoogRequireAfterImportsAndDeclareNamesButBeforeOthers() { testSame( lines( "import 'file';", - "goog.module.declareNamespace('name');", + "goog.declareModuleId('name');", "const bar = goog.require('bar');", "let rest;")); }