diff options
Diffstat (limited to 'fpdfsdk/fpdf_edit_embeddertest.cpp')
-rw-r--r-- | fpdfsdk/fpdf_edit_embeddertest.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp index 3d2e090a36..0a119b9577 100644 --- a/fpdfsdk/fpdf_edit_embeddertest.cpp +++ b/fpdfsdk/fpdf_edit_embeddertest.cpp @@ -931,6 +931,7 @@ TEST_F(FPDFEditEmbeddertest, AddStrokedPaths) { FPDF_ClosePage(page); } +// Tests adding text from standard font using FPDFPageObj_NewTextObj. TEST_F(FPDFEditEmbeddertest, AddStandardFontText) { // Start with a blank page FPDF_PAGE page = FPDFPage_New(CreateNewDocument(), 0, 612, 792); @@ -1001,6 +1002,73 @@ TEST_F(FPDFEditEmbeddertest, AddStandardFontText) { FPDF_ClosePage(page); } +// Tests adding text from standard font using FPDFText_LoadStandardFont. +TEST_F(FPDFEditEmbeddertest, AddStandardFontText2) { + // Start with a blank page + ScopedFPDFPage page(FPDFPage_New(CreateNewDocument(), 0, 612, 792)); + + // Load a standard font. + FPDF_FONT font = FPDFText_LoadStandardFont(document(), "Helvetica"); + ASSERT_TRUE(font); + + // Add some text to the page. + FPDF_PAGEOBJECT text_object = + FPDFPageObj_CreateTextObj(document(), font, 12.0f); + EXPECT_TRUE(text_object); + std::unique_ptr<unsigned short, pdfium::FreeDeleter> text = + GetFPDFWideString(L"I'm at the bottom of the page"); + EXPECT_TRUE(FPDFText_SetText(text_object, text.get())); + FPDFPageObj_Transform(text_object, 1, 0, 0, 1, 20, 20); + FPDFPage_InsertObject(page.get(), text_object); + ScopedFPDFBitmap page_bitmap = RenderPageWithFlags(page.get(), nullptr, 0); +#if _FX_PLATFORM_ == _FX_PLATFORM_APPLE_ + const char md5[] = "a4dddc1a3930fa694bbff9789dab4161"; +#else + const char md5[] = "eacaa24573b8ce997b3882595f096f00"; +#endif + CompareBitmap(page_bitmap.get(), 612, 792, md5); +} + +TEST_F(FPDFEditEmbeddertest, LoadStandardFonts) { + CreateNewDocument(); + const char* standard_font_names[] = {"Arial", + "Arial-Bold", + "Arial-BoldItalic", + "Arial-Italic", + "Courier", + "Courier-BoldOblique", + "Courier-Oblique", + "Courier-Bold", + "CourierNew", + "CourierNew-Bold", + "CourierNew-BoldItalic", + "CourierNew-Italic", + "Helvetica", + "Helvetica-Bold", + "Helvetica-BoldOblique", + "Helvetica-Oblique", + "Symbol", + "TimesNewRoman", + "TimesNewRoman-Bold", + "TimesNewRoman-BoldItalic", + "TimesNewRoman-Italic", + "ZapfDingbats"}; + for (auto* const font_name : standard_font_names) { + FPDF_FONT font = FPDFText_LoadStandardFont(document(), font_name); + EXPECT_TRUE(font) << font_name << " should be considered a standard font."; + } + const char* not_standard_font_names[] = { + "Abcdefg", "ArialB", "Arial-Style", + "Font Name", "FontArial", "NotAStandardFontName", + "TestFontName", "Quack", "Symbol-Italic", + "Zapf"}; + for (auto* const font_name : not_standard_font_names) { + FPDF_FONT font = FPDFText_LoadStandardFont(document(), font_name); + EXPECT_FALSE(font) << font_name + << " should not be considered a standard font."; + } +} + TEST_F(FPDFEditEmbeddertest, GraphicsData) { // New page ScopedFPDFPage page(FPDFPage_New(CreateNewDocument(), 0, 612, 792)); |