Index: test/cctest/test-parsing.cc |
diff --git a/test/cctest/test-parsing.cc b/test/cctest/test-parsing.cc |
index c690ffdf8528ab4596e5e120a351652cb39cd793..51481b305f19d7fb715983361bae7552d0d1c0e1 100644 |
--- a/test/cctest/test-parsing.cc |
+++ b/test/cctest/test-parsing.cc |
@@ -5962,7 +5962,7 @@ TEST(EnumReserved) { |
static void CheckEntry(const i::ModuleDescriptor::Entry* entry, |
const char* export_name, const char* local_name, |
- const char* import_name, const char* module_request) { |
+ const char* import_name, int module_request) { |
CHECK_NOT_NULL(entry); |
if (export_name == nullptr) { |
CHECK_NULL(entry->export_name); |
@@ -5979,11 +5979,7 @@ static void CheckEntry(const i::ModuleDescriptor::Entry* entry, |
} else { |
CHECK(entry->import_name->IsOneByteEqualTo(import_name)); |
} |
- if (module_request == nullptr) { |
- CHECK_NULL(entry->module_request); |
- } else { |
- CHECK(entry->module_request->IsOneByteEqualTo(module_request)); |
- } |
+ CHECK_EQ(entry->module_request, module_request); |
} |
TEST(ModuleParsingInternals) { |
@@ -6115,74 +6111,86 @@ TEST(ModuleParsingInternals) { |
i::ModuleDescriptor* descriptor = module_scope->module(); |
CHECK_NOT_NULL(descriptor); |
+ CHECK_EQ(5, descriptor->module_requests().size()); |
+ for (const auto& elem : descriptor->module_requests()) { |
+ if (elem.first->IsOneByteEqualTo("m.js")) |
+ CHECK_EQ(elem.second, 0); |
+ else if (elem.first->IsOneByteEqualTo("n.js")) |
+ CHECK_EQ(elem.second, 1); |
+ else if (elem.first->IsOneByteEqualTo("p.js")) |
+ CHECK_EQ(elem.second, 2); |
+ else if (elem.first->IsOneByteEqualTo("q.js")) |
+ CHECK_EQ(elem.second, 3); |
+ else if (elem.first->IsOneByteEqualTo("bar.js")) |
+ CHECK_EQ(elem.second, 4); |
+ else |
+ CHECK(false); |
+ } |
+ |
CHECK_EQ(3, descriptor->special_exports().length()); |
- CheckEntry(descriptor->special_exports().at(0), "b", nullptr, "a", "m.js"); |
- CheckEntry(descriptor->special_exports().at(1), nullptr, nullptr, nullptr, |
- "p.js"); |
+ CheckEntry(descriptor->special_exports().at(0), "b", nullptr, "a", 0); |
+ CheckEntry(descriptor->special_exports().at(1), nullptr, nullptr, nullptr, 2); |
CheckEntry(descriptor->special_exports().at(2), "bb", nullptr, "aa", |
- "m.js"); // !!! |
+ 0); // !!! |
CHECK_EQ(8, descriptor->regular_exports().size()); |
entry = descriptor->regular_exports() |
.find(declarations->at(3)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "foo", "foo", nullptr, nullptr); |
+ CheckEntry(entry, "foo", "foo", nullptr, -1); |
entry = descriptor->regular_exports() |
.find(declarations->at(4)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "goo", "goo", nullptr, nullptr); |
+ CheckEntry(entry, "goo", "goo", nullptr, -1); |
entry = descriptor->regular_exports() |
.find(declarations->at(5)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "hoo", "hoo", nullptr, nullptr); |
+ CheckEntry(entry, "hoo", "hoo", nullptr, -1); |
entry = descriptor->regular_exports() |
.find(declarations->at(6)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "joo", "joo", nullptr, nullptr); |
+ CheckEntry(entry, "joo", "joo", nullptr, -1); |
entry = descriptor->regular_exports() |
.find(declarations->at(7)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "default", "*default*", nullptr, nullptr); |
+ CheckEntry(entry, "default", "*default*", nullptr, -1); |
entry = descriptor->regular_exports() |
.find(declarations->at(12)->proxy()->raw_name()) |
->second; |
- CheckEntry(entry, "foob", "foob", nullptr, nullptr); |
+ CheckEntry(entry, "foob", "foob", nullptr, -1); |
// TODO(neis): The next lines are terrible. Find a better way. |
auto name_x = declarations->at(0)->proxy()->raw_name(); |
CHECK_EQ(2, descriptor->regular_exports().count(name_x)); |
auto it = descriptor->regular_exports().equal_range(name_x).first; |
entry = it->second; |
if (entry->export_name->IsOneByteEqualTo("y")) { |
- CheckEntry(entry, "y", "x", nullptr, nullptr); |
+ CheckEntry(entry, "y", "x", nullptr, -1); |
entry = (++it)->second; |
- CheckEntry(entry, "x", "x", nullptr, nullptr); |
+ CheckEntry(entry, "x", "x", nullptr, -1); |
} else { |
- CheckEntry(entry, "x", "x", nullptr, nullptr); |
+ CheckEntry(entry, "x", "x", nullptr, -1); |
entry = (++it)->second; |
- CheckEntry(entry, "y", "x", nullptr, nullptr); |
+ CheckEntry(entry, "y", "x", nullptr, -1); |
} |
CHECK_EQ(3, descriptor->special_imports().length()); |
- CheckEntry(descriptor->special_imports().at(0), nullptr, nullptr, nullptr, |
- "q.js"); |
- CheckEntry(descriptor->special_imports().at(1), nullptr, "loo", nullptr, |
- "bar.js"); |
- CheckEntry(descriptor->special_imports().at(2), nullptr, "foob", nullptr, |
- "bar.js"); |
+ CheckEntry(descriptor->special_imports().at(0), nullptr, nullptr, nullptr, 3); |
+ CheckEntry(descriptor->special_imports().at(1), nullptr, "loo", nullptr, 4); |
+ CheckEntry(descriptor->special_imports().at(2), nullptr, "foob", nullptr, 4); |
CHECK_EQ(4, descriptor->regular_imports().size()); |
entry = descriptor->regular_imports().find( |
declarations->at(1)->proxy()->raw_name())->second; |
- CheckEntry(entry, nullptr, "z", "q", "m.js"); |
+ CheckEntry(entry, nullptr, "z", "q", 0); |
entry = descriptor->regular_imports().find( |
declarations->at(2)->proxy()->raw_name())->second; |
- CheckEntry(entry, nullptr, "n", "default", "n.js"); |
+ CheckEntry(entry, nullptr, "n", "default", 1); |
entry = descriptor->regular_imports().find( |
declarations->at(9)->proxy()->raw_name())->second; |
- CheckEntry(entry, nullptr, "mm", "m", "m.js"); |
+ CheckEntry(entry, nullptr, "mm", "m", 0); |
entry = descriptor->regular_imports().find( |
declarations->at(10)->proxy()->raw_name())->second; |
- CheckEntry(entry, nullptr, "aa", "aa", "m.js"); |
+ CheckEntry(entry, nullptr, "aa", "aa", 0); |
} |