Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(161)

Unified Diff: test/cctest/test-api.cc

Issue 2065453002: [module] Track script "module code" status Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/cctest/test-api.cc
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index e2773ef3373bed5afbbf4b0a2e7a7c5a82ba84bb..8758eb5c459ffc680b9b5d53f91ab6b9837230af 100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -23604,6 +23604,32 @@ TEST(ScriptPositionInfo) {
CHECK(!script1->GetPositionInfo(220384, &info, script1->NO_OFFSET));
}
+TEST(ScriptIsModule) {
+ LocalContext env;
+ v8::Isolate* isolate = env->GetIsolate();
+ v8::HandleScope scope(isolate);
+ const char* url = "http://www.foo.com/foo.js";
+ v8::ScriptOrigin origin(v8_str(url), v8::Integer::New(isolate, 1));
+ Local<Script> localScript;
+ i::Handle<i::SharedFunctionInfo> fnInfo;
+
+ v8::ScriptCompiler::Source script_source1(v8_str("void 1;\n"), origin);
+ localScript = v8::ScriptCompiler::Compile(env.local(), &script_source1)
+ .ToLocalChecked();
+ fnInfo = i::Handle<i::SharedFunctionInfo>::cast(
+ v8::Utils::OpenHandle(*localScript->GetUnboundScript()));
+ i::Handle<i::Script> globalScript(i::Script::cast(fnInfo->script()));
+ CHECK_EQ(false, globalScript->is_module());
+
+ v8::ScriptCompiler::Source script_source2(v8_str("void 2;\n"), origin);
mike3 2016/06/12 19:54:48 A distinct Source object for each test case is nec
vogelheim 2016/06/14 15:20:50 This is a good catch! I hadn't thought of that...
mike3 2016/06/19 16:59:00 Much as I enjoy seeing my commit count increase (p
+ localScript = v8::ScriptCompiler::CompileModule(env.local(), &script_source2)
+ .ToLocalChecked();
+ fnInfo = i::Handle<i::SharedFunctionInfo>::cast(
+ v8::Utils::OpenHandle(*localScript->GetUnboundScript()));
+ i::Handle<i::Script> moduleScript(i::Script::cast(fnInfo->script()));
+ CHECK_EQ(true, moduleScript->is_module());
+}
+
void CheckMagicComments(Local<Script> script, const char* expected_source_url,
const char* expected_source_mapping_url) {
if (expected_source_url != NULL) {
« src/parsing/parser.cc ('K') | « src/parsing/parser.cc ('k') | test/cctest/test-parsing.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698