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_EMBEDDER_TEST_ENVIRONMENT_H_ 6*3ac0a46fSAndroid Build Coastguard Worker #define TESTING_EMBEDDER_TEST_ENVIRONMENT_H_ 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker #include <string> 9*3ac0a46fSAndroid Build Coastguard Worker 10*3ac0a46fSAndroid Build Coastguard Worker #include "public/fpdfview.h" 11*3ac0a46fSAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h" 12*3ac0a46fSAndroid Build Coastguard Worker #include "testing/test_fonts.h" 13*3ac0a46fSAndroid Build Coastguard Worker 14*3ac0a46fSAndroid Build Coastguard Worker class EmbedderTestEnvironment : public testing::Environment { 15*3ac0a46fSAndroid Build Coastguard Worker public: 16*3ac0a46fSAndroid Build Coastguard Worker EmbedderTestEnvironment(); 17*3ac0a46fSAndroid Build Coastguard Worker ~EmbedderTestEnvironment() override; 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker // Note: GetInstance() does not create one if it does not exist, 20*3ac0a46fSAndroid Build Coastguard Worker // so the main program must explicitly add this enviroment. 21*3ac0a46fSAndroid Build Coastguard Worker static EmbedderTestEnvironment* GetInstance(); 22*3ac0a46fSAndroid Build Coastguard Worker 23*3ac0a46fSAndroid Build Coastguard Worker // testing::Environment: 24*3ac0a46fSAndroid Build Coastguard Worker void SetUp() override; 25*3ac0a46fSAndroid Build Coastguard Worker void TearDown() override; 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker void AddFlags(int argc, char** argv); 28*3ac0a46fSAndroid Build Coastguard Worker write_pngs()29*3ac0a46fSAndroid Build Coastguard Worker bool write_pngs() const { return write_pngs_; } 30*3ac0a46fSAndroid Build Coastguard Worker 31*3ac0a46fSAndroid Build Coastguard Worker private: 32*3ac0a46fSAndroid Build Coastguard Worker void AddFlag(const std::string& flag); 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker FPDF_RENDERER_TYPE renderer_type_; 35*3ac0a46fSAndroid Build Coastguard Worker bool write_pngs_ = false; 36*3ac0a46fSAndroid Build Coastguard Worker TestFonts test_fonts_; 37*3ac0a46fSAndroid Build Coastguard Worker }; 38*3ac0a46fSAndroid Build Coastguard Worker 39*3ac0a46fSAndroid Build Coastguard Worker #endif // TESTING_EMBEDDER_TEST_ENVIRONMENT_H_ 40