// Copyright 2018 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef FXJS_CFX_V8_UNITTEST_H_ #define FXJS_CFX_V8_UNITTEST_H_ #include "fxjs/cfx_v8.h" #include <memory> #include "testing/gtest/include/gtest/gtest.h" class FXV8UnitTest : public ::testing::Test { public: struct V8IsolateDeleter { void operator()(v8::Isolate* ptr) const; }; FXV8UnitTest(); ~FXV8UnitTest() override; void SetUp() override; v8::Isolate* isolate() const { return isolate_.get(); } CFX_V8* cfx_v8() const { return cfx_v8_.get(); } protected: std::unique_ptr<CFX_V8ArrayBufferAllocator> array_buffer_allocator_; std::unique_ptr<v8::Isolate, V8IsolateDeleter> isolate_; std::unique_ptr<CFX_V8> cfx_v8_; }; #endif // FXJS_CFX_V8_UNITTEST_H_