Chromium Code Reviews| Index: test/cctest/test-parsing.cc |
| diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
| index 02fc6d47a40025bdfce413f78b47a50af8fca010..17385ed0cb813bebf83dd7e18e491f0160360087 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() {});" |
|
adamk
2016/07/13 18:38:22
Can you also add an anonymous case? That'll be cov
neis
2016/07/14 10:28:24
Not sure what you mean. This module already has a
|
| "import 'q.js'"; |
| i::Handle<i::String> source = factory->NewStringFromAsciiChecked(kSource); |
| i::Handle<i::Script> script = factory->NewScript(source); |
| @@ -5907,34 +5912,42 @@ 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")); |
| + 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*")); |
| + // CHECK_EQ(1, descriptor->Length()); |
|
adamk
2016/07/13 18:38:22
Is this stuff dead now?
neis
2016/07/14 10:28:24
Yes, removed. Will most likely re-add such tests l
|
| + // const i::AstRawString* export_name = |
| + // info.ast_value_factory()->GetOneByteString("y"); |
| + // const i::AstRawString* local_name = |
| + // descriptor->LookupExport(export_name, &zone); |
| + // CHECK_NOT_NULL(local_name); |
| + // CHECK(local_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")); |
| + // 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")); |
| } |