40 lines
979 B
C++
40 lines
979 B
C++
// Copyright 2020 The PDFium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "testing/fxgc_unittest.h"
|
|
|
|
#include "fxjs/gc/heap.h"
|
|
#include "testing/gtest/include/gtest/gtest.h"
|
|
#include "testing/v8_test_environment.h"
|
|
#include "v8/include/libplatform/libplatform.h"
|
|
|
|
FXGCUnitTest::FXGCUnitTest() = default;
|
|
|
|
FXGCUnitTest::~FXGCUnitTest() = default;
|
|
|
|
void FXGCUnitTest::SetUp() {
|
|
::testing::Test::SetUp();
|
|
auto* env = V8TestEnvironment::GetInstance();
|
|
FXGC_Initialize(env->platform(), env->isolate());
|
|
heap_ = FXGC_CreateHeap();
|
|
ASSERT_TRUE(heap_);
|
|
}
|
|
|
|
void FXGCUnitTest::TearDown() {
|
|
ForceGCAndPump();
|
|
heap_.reset();
|
|
FXGC_Release();
|
|
::testing::Test::TearDown();
|
|
}
|
|
|
|
void FXGCUnitTest::ForceGCAndPump() {
|
|
FXGC_ForceGarbageCollection(heap_.get());
|
|
Pump();
|
|
}
|
|
|
|
void FXGCUnitTest::Pump() {
|
|
V8TestEnvironment::PumpPlatformMessageLoop(
|
|
V8TestEnvironment::GetInstance()->isolate());
|
|
}
|