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) { |