1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2020 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #ifndef TESTING_FXV8_UNITTEST_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_FXV8_UNITTEST_H_ 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker #include <memory> 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h" 11*3ac0a46fSAndroid Build Coastguard Worker 12*3ac0a46fSAndroid Build Coastguard Worker class CFX_V8; 13*3ac0a46fSAndroid Build Coastguard Worker class CFX_V8ArrayBufferAllocator; 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker namespace v8 { 16*3ac0a46fSAndroid Build Coastguard Worker class Isolate; 17*3ac0a46fSAndroid Build Coastguard Worker } // namespace v8 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker class FXV8UnitTest : public ::testing::Test { 20*3ac0a46fSAndroid Build Coastguard Worker public: 21*3ac0a46fSAndroid Build Coastguard Worker struct V8IsolateDeleter { 22*3ac0a46fSAndroid Build Coastguard Worker void operator()(v8::Isolate* ptr) const; 23*3ac0a46fSAndroid Build Coastguard Worker }; 24*3ac0a46fSAndroid Build Coastguard Worker 25*3ac0a46fSAndroid Build Coastguard Worker FXV8UnitTest(); 26*3ac0a46fSAndroid Build Coastguard Worker ~FXV8UnitTest() override; 27*3ac0a46fSAndroid Build Coastguard Worker 28*3ac0a46fSAndroid Build Coastguard Worker void SetUp() override; 29*3ac0a46fSAndroid Build Coastguard Worker isolate()30*3ac0a46fSAndroid Build Coastguard Worker v8::Isolate* isolate() const { return isolate_.get(); } 31*3ac0a46fSAndroid Build Coastguard Worker 32*3ac0a46fSAndroid Build Coastguard Worker protected: 33*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<CFX_V8ArrayBufferAllocator> array_buffer_allocator_; 34*3ac0a46fSAndroid Build Coastguard Worker std::unique_ptr<v8::Isolate, V8IsolateDeleter> isolate_; 35*3ac0a46fSAndroid Build Coastguard Worker }; 36*3ac0a46fSAndroid Build Coastguard Worker 37*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_FXV8_UNITTEST_H_ 38