Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 1 | // Copyright 2019 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/xfa_test_environment.h" |
| 6 | |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 7 | #include "core/fxge/cfx_fontmgr.h" |
| 8 | #include "core/fxge/cfx_gemodule.h" |
| 9 | #include "core/fxge/systemfontinfo_iface.h" |
Tom Sepez | 25f33d0 | 2021-01-29 01:58:51 +0000 | [diff] [blame^] | 10 | #include "third_party/base/check.h" |
Tom Sepez | 0aed427 | 2020-09-08 22:48:08 +0000 | [diff] [blame] | 11 | #include "xfa/fgas/font/cfgas_gemodule.h" |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 12 | |
| 13 | namespace { |
| 14 | |
| 15 | XFATestEnvironment* g_env = nullptr; |
| 16 | |
| 17 | } // namespace |
| 18 | |
| 19 | XFATestEnvironment::XFATestEnvironment() { |
Tom Sepez | 25f33d0 | 2021-01-29 01:58:51 +0000 | [diff] [blame^] | 20 | DCHECK(!g_env); |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 21 | g_env = this; |
| 22 | } |
| 23 | |
| 24 | XFATestEnvironment::~XFATestEnvironment() { |
Tom Sepez | 25f33d0 | 2021-01-29 01:58:51 +0000 | [diff] [blame^] | 25 | DCHECK(g_env); |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 26 | g_env = nullptr; |
| 27 | } |
| 28 | |
| 29 | void XFATestEnvironment::SetUp() { |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 30 | CFX_GEModule::Get()->GetFontMgr()->SetSystemFontInfo( |
Tom Sepez | 9873bf3 | 2020-08-24 17:16:36 +0000 | [diff] [blame] | 31 | CFX_GEModule::Get()->GetPlatform()->CreateDefaultSystemFontInfo()); |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 32 | |
Tom Sepez | 0aed427 | 2020-09-08 22:48:08 +0000 | [diff] [blame] | 33 | // The font loading that takes place in CFGAS_GEModule::Create() is slow, |
| 34 | // but we do it only once per binary execution, not once per test. |
| 35 | CFGAS_GEModule::Create(); |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 36 | } |
| 37 | |
| 38 | void XFATestEnvironment::TearDown() { |
Tom Sepez | 0aed427 | 2020-09-08 22:48:08 +0000 | [diff] [blame] | 39 | CFGAS_GEModule::Destroy(); |
Tom Sepez | 2281853 | 2020-07-22 20:40:56 +0000 | [diff] [blame] | 40 | } |