| OLD | NEW | 
|---|
| 1 // Copyright 2016 PDFium Authors. All rights reserved. | 1 // Copyright 2016 PDFium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "public/fpdf_edit.h" | 5 #include "public/fpdf_edit.h" | 
| 6 | 6 | 
| 7 #include "core/fpdfapi/include/cpdf_modulemgr.h" | 7 #include "core/fpdfapi/include/cpdf_modulemgr.h" | 
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" | 
| 9 | 9 | 
| 10 class PDFEditTest : public testing::Test { | 10 class PDFEditTest : public testing::Test { | 
| (...skipping 17 matching lines...) Expand all  Loading... | 
| 28   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 28   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 
| 29 | 29 | 
| 30   FPDF_PAGEOBJECT page_image = FPDFPageObj_NewImgeObj(doc); | 30   FPDF_PAGEOBJECT page_image = FPDFPageObj_NewImgeObj(doc); | 
| 31   FPDFPage_InsertObject(nullptr, page_image); | 31   FPDFPage_InsertObject(nullptr, page_image); | 
| 32   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 32   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 
| 33 | 33 | 
| 34   FPDF_ClosePage(page); | 34   FPDF_ClosePage(page); | 
| 35   FPDF_CloseDocument(doc); | 35   FPDF_CloseDocument(doc); | 
| 36 } | 36 } | 
| 37 | 37 | 
| 38 // https://bugs.chromium.org/p/pdfium/issues/detail?id=545 |  | 
| 39 // TODO(thestig): Add another test case that also calls |  | 
| 40 // FPDFPage_GenerateContent(). |  | 
| 41 TEST_F(PDFEditTest, NewImgeObj) { | 38 TEST_F(PDFEditTest, NewImgeObj) { | 
| 42   FPDF_DOCUMENT doc = FPDF_CreateNewDocument(); | 39   FPDF_DOCUMENT doc = FPDF_CreateNewDocument(); | 
| 43   FPDF_PAGE page = FPDFPage_New(doc, 0, 100, 100); | 40   FPDF_PAGE page = FPDFPage_New(doc, 0, 100, 100); | 
| 44   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 41   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 
| 45 | 42 | 
| 46   FPDF_PAGEOBJECT page_image = FPDFPageObj_NewImgeObj(doc); | 43   FPDF_PAGEOBJECT page_image = FPDFPageObj_NewImgeObj(doc); | 
| 47   FPDFPage_InsertObject(page, page_image); | 44   FPDFPage_InsertObject(page, page_image); | 
| 48   EXPECT_EQ(1, FPDFPage_CountObject(page)); | 45   EXPECT_EQ(1, FPDFPage_CountObject(page)); | 
| 49 | 46 | 
| 50   FPDF_ClosePage(page); | 47   FPDF_ClosePage(page); | 
| 51   FPDF_CloseDocument(doc); | 48   FPDF_CloseDocument(doc); | 
| 52 } | 49 } | 
|  | 50 | 
|  | 51 TEST_F(PDFEditTest, NewImgeObjGenerateContent) { | 
|  | 52   FPDF_DOCUMENT doc = FPDF_CreateNewDocument(); | 
|  | 53   FPDF_PAGE page = FPDFPage_New(doc, 0, 100, 100); | 
|  | 54   EXPECT_EQ(0, FPDFPage_CountObject(page)); | 
|  | 55 | 
|  | 56   constexpr int kBitmapSize = 50; | 
|  | 57   FPDF_BITMAP bitmap = FPDFBitmap_Create(kBitmapSize, kBitmapSize, 0); | 
|  | 58   FPDFBitmap_FillRect(bitmap, 0, 0, kBitmapSize, kBitmapSize, 0x00000000); | 
|  | 59   EXPECT_EQ(kBitmapSize, FPDFBitmap_GetWidth(bitmap)); | 
|  | 60   EXPECT_EQ(kBitmapSize, FPDFBitmap_GetHeight(bitmap)); | 
|  | 61 | 
|  | 62   FPDF_PAGEOBJECT page_image = FPDFPageObj_NewImgeObj(doc); | 
|  | 63   ASSERT_TRUE(FPDFImageObj_SetBitmap(&page, 0, page_image, bitmap)); | 
|  | 64   ASSERT_TRUE( | 
|  | 65       FPDFImageObj_SetMatrix(page_image, kBitmapSize, 0, 0, kBitmapSize, 0, 0)); | 
|  | 66   FPDFPage_InsertObject(page, page_image); | 
|  | 67   EXPECT_EQ(1, FPDFPage_CountObject(page)); | 
|  | 68   EXPECT_TRUE(FPDFPage_GenerateContent(page)); | 
|  | 69 | 
|  | 70   FPDFBitmap_Destroy(bitmap); | 
|  | 71   FPDF_ClosePage(page); | 
|  | 72   FPDF_CloseDocument(doc); | 
|  | 73 } | 
| OLD | NEW | 
|---|