1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2019 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 #include "testing/xfa_test_environment.h" 6*3ac0a46fSAndroid Build Coastguard Worker 7*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxge/cfx_fontmgr.h" 8*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxge/cfx_gemodule.h" 9*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxge/systemfontinfo_iface.h" 10*3ac0a46fSAndroid Build Coastguard Worker #include "third_party/base/check.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "xfa/fgas/font/cfgas_gemodule.h" 12*3ac0a46fSAndroid Build Coastguard Worker 13*3ac0a46fSAndroid Build Coastguard Worker namespace { 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker XFATestEnvironment* g_env = nullptr; 16*3ac0a46fSAndroid Build Coastguard Worker 17*3ac0a46fSAndroid Build Coastguard Worker } // namespace 18*3ac0a46fSAndroid Build Coastguard Worker XFATestEnvironment()19*3ac0a46fSAndroid Build Coastguard WorkerXFATestEnvironment::XFATestEnvironment() { 20*3ac0a46fSAndroid Build Coastguard Worker DCHECK(!g_env); 21*3ac0a46fSAndroid Build Coastguard Worker g_env = this; 22*3ac0a46fSAndroid Build Coastguard Worker } 23*3ac0a46fSAndroid Build Coastguard Worker ~XFATestEnvironment()24*3ac0a46fSAndroid Build Coastguard WorkerXFATestEnvironment::~XFATestEnvironment() { 25*3ac0a46fSAndroid Build Coastguard Worker DCHECK(g_env); 26*3ac0a46fSAndroid Build Coastguard Worker g_env = nullptr; 27*3ac0a46fSAndroid Build Coastguard Worker } 28*3ac0a46fSAndroid Build Coastguard Worker SetUp()29*3ac0a46fSAndroid Build Coastguard Workervoid XFATestEnvironment::SetUp() { 30*3ac0a46fSAndroid Build Coastguard Worker CFX_GEModule::Get()->GetFontMgr()->GetBuiltinMapper()->SetSystemFontInfo( 31*3ac0a46fSAndroid Build Coastguard Worker CFX_GEModule::Get()->GetPlatform()->CreateDefaultSystemFontInfo()); 32*3ac0a46fSAndroid Build Coastguard Worker 33*3ac0a46fSAndroid Build Coastguard Worker // The font loading that takes place in CFGAS_GEModule::Create() is slow, 34*3ac0a46fSAndroid Build Coastguard Worker // but we do it only once per binary execution, not once per test. 35*3ac0a46fSAndroid Build Coastguard Worker CFGAS_GEModule::Create(); 36*3ac0a46fSAndroid Build Coastguard Worker } 37*3ac0a46fSAndroid Build Coastguard Worker TearDown()38*3ac0a46fSAndroid Build Coastguard Workervoid XFATestEnvironment::TearDown() { 39*3ac0a46fSAndroid Build Coastguard Worker CFGAS_GEModule::Destroy(); 40*3ac0a46fSAndroid Build Coastguard Worker } 41