Consistently check page loading succeeds in tests.
e.g. VerifySavedRendering(page, ...) starts with DCHECK(page), which
means the caller needs to verify the page is a valid handle.
Also fix some incorrect comments about closing documents.
Change-Id: I5f838b60474c20d6998ff8b62627a9b90707b67b
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/79292
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
index 661fb45..57092d5 100644
--- a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
@@ -184,6 +184,7 @@
for (const auto& test : tests) {
ASSERT_TRUE(OpenSavedDocumentWithPassword(test.password));
FPDF_PAGE page = LoadSavedPage(0);
+ ASSERT_TRUE(page);
VerifySavedRendering(page, 612, 792, kChecksum);
EXPECT_EQ(test.permissions, FPDF_GetDocPermissions(saved_document_));
diff --git a/fpdfsdk/fpdf_annot_embeddertest.cpp b/fpdfsdk/fpdf_annot_embeddertest.cpp
index 1fea030..c7d8e65 100644
--- a/fpdfsdk/fpdf_annot_embeddertest.cpp
+++ b/fpdfsdk/fpdf_annot_embeddertest.cpp
@@ -670,7 +670,7 @@
ASSERT_TRUE(FPDFAnnot_AppendAttachmentPoints(annot.get(), &quadpoints));
}
- // Save the document, closing the page and document.
+ // Save the document and close the page.
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
UnloadPage(page);
@@ -687,6 +687,7 @@
ASSERT_TRUE(OpenSavedDocument());
page = LoadSavedPage(0);
+ ASSERT_TRUE(page);
VerifySavedRendering(page, 612, 792, kChecksum);
// Check that the saved document has 2 annotations on the first page
@@ -979,7 +980,7 @@
EXPECT_EQ(2, FPDFPage_GetAnnotCount(page));
EXPECT_FALSE(FPDFPage_GetAnnot(page, 2));
- // Save the document, closing the page and document.
+ // Save the document and close the page.
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
UnloadPageNoEvents(page);
@@ -1143,13 +1144,14 @@
EXPECT_EQ(rect.top, new_rect.top);
}
- // Save the document, closing the page and document.
+ // Save the document and close the page.
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
UnloadPage(page);
// Open the saved document.
ASSERT_TRUE(OpenSavedDocument());
page = LoadSavedPage(0);
+ ASSERT_TRUE(page);
VerifySavedRendering(page, 595, 842, kMd5NewAnnot);
// Check that the document has a correct count of annotations and objects.
@@ -1316,7 +1318,7 @@
EXPECT_TRUE(FPDFAnnot_UpdateObject(annot.get(), image_object));
}
- // Save the document, closing the page and document.
+ // Save the document and close the page.
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
UnloadPage(page);
FPDFBitmap_Destroy(image_bitmap);
@@ -1469,7 +1471,7 @@
text.get()));
}
- // Save the document, closing the page and document.
+ // Save the document and close the page.
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
UnloadPage(page);
@@ -1492,6 +1494,7 @@
// Open the saved annotation.
ASSERT_TRUE(OpenSavedDocument());
page = LoadSavedPage(0);
+ ASSERT_TRUE(page);
VerifySavedRendering(page, 595, 842, kMd5);
{
ScopedFPDFAnnotation new_annot(FPDFPage_GetAnnot(page, 0));
@@ -1651,6 +1654,7 @@
ASSERT_TRUE(OpenSavedDocument());
page = LoadSavedPage(0);
+ ASSERT_TRUE(page);
{
ScopedFPDFAnnotation new_annot(FPDFPage_GetAnnot(page, 0));
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 54b2b74..ae1db92 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -709,6 +709,7 @@
// Re-open the file and check the changes were kept in the saved .pdf.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
@@ -1095,6 +1096,7 @@
// Re-open the file and check the prime marks are not there anymore.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(11, FPDFPage_CountObjects(saved_page));
{
@@ -1152,6 +1154,7 @@
// Re-open the file and check the prime marks are not there anymore.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
CheckMarkCounts(saved_page, 1, kExpectedObjectCount, 0, 4, 9, 1);
@@ -1208,6 +1211,7 @@
// Re-open the file and check the "Factor" parameters are still gone.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
size_t square_count = 0;
for (int i = 0; i < kExpectedObjectCount; ++i) {
@@ -1267,6 +1271,7 @@
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
CheckMarkCounts(saved_page, 2, 18, 8, 3, 9, 1);
@@ -1298,6 +1303,7 @@
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
CheckMarkCounts(saved_page, 2, 18, 8, 3, 9, 1);
@@ -1329,6 +1335,7 @@
// Re-open the file and check the page object count is still 1.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(1, FPDFPage_CountObjects(saved_page));
CloseSavedPage(saved_page);
CloseSavedDocument();
@@ -1378,6 +1385,7 @@
// Re-open the file and check the page object count is still 2.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
{
@@ -1418,6 +1426,7 @@
// Re-open the file and check the page object count is still 2.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(2, FPDFPage_CountObjects(saved_page));
{
@@ -1537,6 +1546,7 @@
// content stream 1 was removed.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
// Content stream 0: page objects 0-14.
// Content stream 1: page object 15.
@@ -1603,6 +1613,7 @@
// Re-open the file and check the page object count is still 0.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(0, FPDFPage_CountObjects(saved_page));
{
@@ -1660,6 +1671,7 @@
// Re-open the file and check the page object count is still 0.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
ASSERT_EQ(1, FPDFPage_CountObjects(saved_page));
page_object = FPDFPage_GetObject(saved_page, 0);
@@ -1722,6 +1734,7 @@
// Re-open the file and check the page object count is still 0.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
ASSERT_EQ(1, FPDFPage_CountObjects(saved_page));
page_object = FPDFPage_GetObject(saved_page, 0);
@@ -1777,6 +1790,7 @@
// Re-open the file and check the page object count is still 0.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(0, FPDFPage_CountObjects(saved_page));
{
@@ -1812,6 +1826,7 @@
// Re-open the file and check the page object count is still 3.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(3, FPDFPage_CountObjects(saved_page));
CloseSavedPage(saved_page);
CloseSavedDocument();
@@ -1845,6 +1860,7 @@
// Re-open the file and check the page object count is still 3.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(3, FPDFPage_CountObjects(saved_page));
CloseSavedPage(saved_page);
CloseSavedDocument();
@@ -1891,6 +1907,7 @@
// Re-open the file and check the rectangle added is still there.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(kOriginalObjectCount + 1, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
@@ -1919,6 +1936,7 @@
// rest is intact.
ASSERT_TRUE(OpenSavedDocument());
saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(kOriginalObjectCount, FPDFPage_CountObjects(saved_page));
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
@@ -2072,6 +2090,7 @@
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
VerifySavedRendering(saved_page, 612, 792, kOriginalChecksum);
ClearString();
@@ -3003,6 +3022,7 @@
// Re-open the file and check the new mark is present.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
CheckMarkCounts(saved_page, 1, 19, 8, 4, 9, 2);
@@ -3045,6 +3065,7 @@
// Re-open the file and check the new mark is present.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
{
ScopedFPDFBitmap page_bitmap = RenderPage(saved_page);
@@ -3107,6 +3128,7 @@
// Re-open the file and cerify "Position" still maps to "End".
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
CheckMarkCounts(saved_page, 1, kExpectedObjectCount, 8, 4, 9, 1);
page_object = FPDFPage_GetObject(saved_page, 18);
@@ -3212,6 +3234,7 @@
// Re-open the file and check the changes were kept in the saved .pdf.
ASSERT_TRUE(OpenSavedDocument());
FPDF_PAGE saved_page = LoadSavedPage(0);
+ ASSERT_TRUE(saved_page);
EXPECT_EQ(1, FPDFPage_CountObjects(saved_page));
text_object = FPDFPage_GetObject(saved_page, 0);
diff --git a/fpdfsdk/fpdf_editpath_embeddertest.cpp b/fpdfsdk/fpdf_editpath_embeddertest.cpp
index 51b4d58..eaf8e63 100644
--- a/fpdfsdk/fpdf_editpath_embeddertest.cpp
+++ b/fpdfsdk/fpdf_editpath_embeddertest.cpp
@@ -34,7 +34,7 @@
ASSERT_TRUE(OpenSavedDocument());
page = LoadSavedPage(0);
- DCHECK(page);
+ ASSERT_TRUE(page);
for (size_t i = 0; i < kObjectCount; ++i) {
FPDF_PAGEOBJECT path = FPDFPage_GetObject(page, i);