Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index 02fc6d47a40025bdfce413f78b47a50af8fca010..11c894093bbe77b30d059a680af11a7d6699d4e2 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -5890,6 +5890,11 @@ TEST(ModuleParsingInternals) { |
"import n from 'n.js';" |
"export { a as b } from 'm.js';" |
"export * from 'p.js';" |
+ "export var foo;" |
+ "export function goo() {};" |
+ "export let hoo;" |
+ "export const joo = 42;" |
+ "export default (function koo() {});" |
"import 'q.js'"; |
i::Handle<i::String> source = factory->NewStringFromAsciiChecked(kSource); |
i::Handle<i::Script> script = factory->NewScript(source); |
@@ -5907,34 +5912,18 @@ TEST(ModuleParsingInternals) { |
CHECK(module_scope->is_module_scope()); |
i::ModuleDescriptor* descriptor = module_scope->module(); |
CHECK_NOT_NULL(descriptor); |
- CHECK_EQ(1, descriptor->Length()); |
- const i::AstRawString* export_name = |
- info.ast_value_factory()->GetOneByteString("y"); |
- const i::AstRawString* local_name = |
- descriptor->LookupLocalExport(export_name, &zone); |
- CHECK_NOT_NULL(local_name); |
- CHECK(local_name->IsOneByteEqualTo("x")); |
i::ZoneList<i::Declaration*>* declarations = module_scope->declarations(); |
- CHECK_EQ(3, declarations->length()); |
+ CHECK_EQ(8, declarations->length()); |
CHECK(declarations->at(0)->proxy()->raw_name()->IsOneByteEqualTo("x")); |
- i::ImportDeclaration* import_decl = |
- declarations->at(1)->AsImportDeclaration(); |
- CHECK(import_decl->import_name()->IsOneByteEqualTo("q")); |
- CHECK(import_decl->proxy()->raw_name()->IsOneByteEqualTo("z")); |
- CHECK(import_decl->module_specifier()->IsOneByteEqualTo("m.js")); |
- import_decl = declarations->at(2)->AsImportDeclaration(); |
- CHECK(import_decl->import_name()->IsOneByteEqualTo("default")); |
- CHECK(import_decl->proxy()->raw_name()->IsOneByteEqualTo("n")); |
- CHECK(import_decl->module_specifier()->IsOneByteEqualTo("n.js")); |
- // TODO(adamk): Add test for indirect exports once they're fully implemented. |
- // TODO(adamk): Add test for star exports once they're fully implemented. |
- const i::ZoneList<const i::AstRawString*>& requested_modules = |
- descriptor->requested_modules(); |
- CHECK_EQ(4, requested_modules.length()); |
- CHECK(requested_modules[0]->IsOneByteEqualTo("m.js")); |
- CHECK(requested_modules[1]->IsOneByteEqualTo("n.js")); |
- CHECK(requested_modules[2]->IsOneByteEqualTo("p.js")); |
- CHECK(requested_modules[3]->IsOneByteEqualTo("q.js")); |
+ CHECK(declarations->at(1)->proxy()->raw_name()->IsOneByteEqualTo("z")); |
+ CHECK(declarations->at(2)->proxy()->raw_name()->IsOneByteEqualTo("n")); |
+ CHECK(declarations->at(3)->proxy()->raw_name()->IsOneByteEqualTo("foo")); |
+ CHECK(declarations->at(4)->proxy()->raw_name()->IsOneByteEqualTo("goo")); |
+ CHECK(declarations->at(5)->proxy()->raw_name()->IsOneByteEqualTo("hoo")); |
+ CHECK(declarations->at(6)->proxy()->raw_name()->IsOneByteEqualTo("joo")); |
+ CHECK( |
+ declarations->at(7)->proxy()->raw_name()->IsOneByteEqualTo("*default*")); |
+ // TODO(neis): Test more once we can inspect the imports/exports. |
} |