Chromium Code Reviews| Index: test/cctest/test-api.cc |
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
| index e2773ef3373bed5afbbf4b0a2e7a7c5a82ba84bb..e965e9421a2ee43fae48709c0d22faeacbb46605 100644 |
| --- a/test/cctest/test-api.cc |
| +++ b/test/cctest/test-api.cc |
| @@ -23604,6 +23604,31 @@ 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)); |
| + v8::ScriptCompiler::Source script_source(v8_str("void 0;\n"), origin); |
| + Local<Script> localScript; |
|
adamk
2016/06/28 17:03:53
Nit: C++ style is to use lower_case_with_underscor
mike3
2016/07/02 22:17:59
Acknowledged.
|
| + i::Handle<i::SharedFunctionInfo> fnInfo; |
| + |
| + localScript = |
| + v8::ScriptCompiler::Compile(env.local(), &script_source).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()); |
| + |
| + localScript = v8::ScriptCompiler::CompileModule(env.local(), &script_source) |
| + .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) { |