diff options
Diffstat (limited to 'fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp')
-rw-r--r-- | fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp | 74 |
1 files changed, 8 insertions, 66 deletions
diff --git a/fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp b/fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp index e89bb28113..b7700c8b60 100644 --- a/fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp +++ b/fpdfsdk/jsapi/fxjs_v8_embeddertest.cpp @@ -7,32 +7,11 @@ namespace { -const double kExpected0 = 6.0; -const double kExpected1 = 7.0; -const double kExpected2 = 8.0; - -const wchar_t kScript0[] = L"fred = 6"; -const wchar_t kScript1[] = L"fred = 7"; -const wchar_t kScript2[] = L"fred = 8"; +const wchar_t kScript[] = L"fred = 7"; } // namespace -class FXJSV8EmbedderTest : public JSEmbedderTest { - public: - void ExecuteInCurrentContext(const wchar_t* script) { - FXJSErr error; - int sts = FXJS_Execute(isolate(), nullptr, script, &error); - EXPECT_EQ(0, sts); - } - void CheckAssignmentInCurrentContext(double expected) { - v8::Local<v8::Object> This = FXJS_GetThisObj(isolate()); - v8::Local<v8::Value> fred = FXJS_GetObjectElement(isolate(), This, L"fred"); - EXPECT_TRUE(fred->IsNumber()); - EXPECT_EQ(expected, fred->ToNumber(isolate()->GetCurrentContext()) - .ToLocalChecked() - ->Value()); - } -}; +class FXJSV8EmbedderTest : public JSEmbedderTest {}; TEST_F(FXJSV8EmbedderTest, Getters) { v8::Isolate::Scope isolate_scope(isolate()); @@ -42,48 +21,11 @@ TEST_F(FXJSV8EmbedderTest, Getters) { v8::HandleScope handle_scope(isolate()); v8::Context::Scope context_scope(GetV8Context()); - ExecuteInCurrentContext(kScript1); - CheckAssignmentInCurrentContext(kExpected1); -} - -TEST_F(FXJSV8EmbedderTest, MultipleRutimes) { - v8::Isolate::Scope isolate_scope(isolate()); -#ifdef PDF_ENABLE_XFA - v8::Locker locker(isolate()); -#endif // PDF_ENABLE_XFA - v8::HandleScope handle_scope(isolate()); - - v8::Global<v8::Context> global_context1; - std::vector<v8::Global<v8::Object>*> static_objects1; - FXJS_InitializeRuntime(isolate(), nullptr, &global_context1, - &static_objects1); - - v8::Global<v8::Context> global_context2; - std::vector<v8::Global<v8::Object>*> static_objects2; - FXJS_InitializeRuntime(isolate(), nullptr, &global_context2, - &static_objects2); - - v8::Context::Scope context_scope(GetV8Context()); - ExecuteInCurrentContext(kScript0); - CheckAssignmentInCurrentContext(kExpected0); - - { - v8::Local<v8::Context> context1 = - v8::Local<v8::Context>::New(isolate(), global_context1); - v8::Context::Scope context_scope(context1); - ExecuteInCurrentContext(kScript1); - CheckAssignmentInCurrentContext(kExpected1); - } - FXJS_ReleaseRuntime(isolate(), &global_context1, &static_objects1); - - { - v8::Local<v8::Context> context2 = - v8::Local<v8::Context>::New(isolate(), global_context2); - v8::Context::Scope context_scope(context2); - ExecuteInCurrentContext(kScript2); - CheckAssignmentInCurrentContext(kExpected2); - } - FXJS_ReleaseRuntime(isolate(), &global_context2, &static_objects2); + FXJSErr error; + int sts = FXJS_Execute(isolate(), nullptr, kScript, &error); + EXPECT_EQ(0, sts); - CheckAssignmentInCurrentContext(kExpected0); + v8::Local<v8::Object> This = FXJS_GetThisObj(isolate()); + v8::Local<v8::Value> fred = FXJS_GetObjectElement(isolate(), This, L"fred"); + EXPECT_TRUE(fred->IsNumber()); } |