| // 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); |
| } |