|  | // Copyright 2021 The PDFium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #include "xfa/fgas/font/fgas_fontutils.h" | 
|  |  | 
|  | #include "core/fxcrt/fx_codepage.h" | 
|  | #include "core/fxcrt/widestring.h" | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | TEST(FGAS, GetUnicodeBitField) { | 
|  | const auto* pResult = FGAS_GetUnicodeBitField(0); | 
|  | ASSERT_TRUE(pResult); | 
|  | EXPECT_EQ(0u, pResult->wBitField); | 
|  | EXPECT_EQ(FX_CodePage::kMSWin_WesternEuropean, pResult->wCodePage); | 
|  |  | 
|  | pResult = FGAS_GetUnicodeBitField(65535); | 
|  | EXPECT_FALSE(pResult); | 
|  |  | 
|  | // Try arbitrary values. | 
|  | pResult = FGAS_GetUnicodeBitField(1313); | 
|  | ASSERT_TRUE(pResult); | 
|  | EXPECT_EQ(9u, pResult->wBitField); | 
|  | EXPECT_EQ(FX_CodePage::kFailure, pResult->wCodePage); | 
|  |  | 
|  | pResult = FGAS_GetUnicodeBitField(14321); | 
|  | ASSERT_TRUE(pResult); | 
|  | EXPECT_EQ(59u, pResult->wBitField); | 
|  | EXPECT_EQ(FX_CodePage::kFailure, pResult->wCodePage); | 
|  | } | 
|  |  | 
|  | TEST(FGAS, FontNameToEnglishName) { | 
|  | // These aren't found with spaces. | 
|  | WideString result = FGAS_FontNameToEnglishName(L"Myriad Pro"); | 
|  | EXPECT_EQ(L"Myriad Pro", result); | 
|  |  | 
|  | result = FGAS_FontNameToEnglishName(L"mYriad pRo"); | 
|  | EXPECT_EQ(L"mYriad pRo", result); | 
|  |  | 
|  | result = FGAS_FontNameToEnglishName(L"MyriadPro"); | 
|  | EXPECT_EQ(L"MyriadPro", result); | 
|  |  | 
|  | result = FGAS_FontNameToEnglishName(L"mYriadpRo"); | 
|  | EXPECT_EQ(L"MyriadPro", result); | 
|  | } | 
|  |  | 
|  | TEST(FGAS, FontInfoByFontName) { | 
|  | // And yet, these are found despite spaces. | 
|  | const auto* result = FGAS_FontInfoByFontName(L"Myriad Pro"); | 
|  | EXPECT_TRUE(result); | 
|  |  | 
|  | result = FGAS_FontInfoByFontName(L"mYriad pRo"); | 
|  | EXPECT_TRUE(result); | 
|  |  | 
|  | result = FGAS_FontInfoByFontName(L"MyriadPro"); | 
|  | EXPECT_TRUE(result); | 
|  |  | 
|  | result = FGAS_FontInfoByFontName(L"mYriadpRo"); | 
|  | EXPECT_TRUE(result); | 
|  | } |