61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
|
|
// 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);
|
||
|
|
}
|