blob: e2d7423f79b3ce6c4a14931ed5e10cd4bc9d82f5 [file] [log] [blame]
Lei Zhang1ac47eb2015-12-21 11:04:44 -08001// Copyright 2015 PDFium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "testing/js_embedder_test.h"
Lei Zhange75538b2017-12-20 19:33:20 +00006
Lei Zhang70156342018-10-18 19:29:59 +00007#include "fxjs/cfxjs_engine.h"
Lei Zhang1ac47eb2015-12-21 11:04:44 -08008
9JSEmbedderTest::JSEmbedderTest()
Tom Sepez7df04832020-05-18 22:09:31 +000010 : m_pArrayBufferAllocator(std::make_unique<CFX_V8ArrayBufferAllocator>()) {}
jochen38a1f0a2016-05-31 12:07:40 -070011
Lei Zhang0e744a22020-06-02 00:44:28 +000012JSEmbedderTest::~JSEmbedderTest() = default;
jochen38a1f0a2016-05-31 12:07:40 -070013
14void JSEmbedderTest::SetUp() {
Lei Zhang1ac47eb2015-12-21 11:04:44 -080015 v8::Isolate::CreateParams params;
16 params.array_buffer_allocator = m_pArrayBufferAllocator.get();
Tom Sepez98b356a2018-07-16 21:35:06 +000017 m_pIsolate.reset(v8::Isolate::New(params));
Lei Zhang1ac47eb2015-12-21 11:04:44 -080018
Tom Sepez98b356a2018-07-16 21:35:06 +000019 EmbedderTest::SetExternalIsolate(isolate());
Lei Zhang1ac47eb2015-12-21 11:04:44 -080020 EmbedderTest::SetUp();
21
Tom Sepez98b356a2018-07-16 21:35:06 +000022 v8::Isolate::Scope isolate_scope(isolate());
23 v8::HandleScope handle_scope(isolate());
24 FXJS_PerIsolateData::SetUp(isolate());
Tom Sepez7df04832020-05-18 22:09:31 +000025 m_Engine = std::make_unique<CFXJS_Engine>(isolate());
tsepezb4694242016-08-15 16:44:55 -070026 m_Engine->InitializeEngine();
Lei Zhang1ac47eb2015-12-21 11:04:44 -080027}
28
29void JSEmbedderTest::TearDown() {
tsepezb4694242016-08-15 16:44:55 -070030 m_Engine->ReleaseEngine();
31 m_Engine.reset();
Lei Zhang1ac47eb2015-12-21 11:04:44 -080032 EmbedderTest::TearDown();
Tom Sepez98b356a2018-07-16 21:35:06 +000033 m_pIsolate.reset();
Lei Zhang1ac47eb2015-12-21 11:04:44 -080034}
35
36v8::Local<v8::Context> JSEmbedderTest::GetV8Context() {
Tom Sepez1258f7f2018-02-02 17:37:37 +000037 return m_Engine->GetV8Context();
Lei Zhang1ac47eb2015-12-21 11:04:44 -080038}