Make embeddertests check fpdf_annot.h documented flag return values. Ensure API remains consistent over time. Change-Id: I511cb81e9e8bed66ac221fa80ebf8a77b21b3726 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80330 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/fpdf_annot_embeddertest.cpp b/fpdfsdk/fpdf_annot_embeddertest.cpp index 987605c..8dd050e 100644 --- a/fpdfsdk/fpdf_annot_embeddertest.cpp +++ b/fpdfsdk/fpdf_annot_embeddertest.cpp
@@ -1291,8 +1291,15 @@ // Check that the original flag values are as expected. int flags = FPDFAnnot_GetFlags(annot.get()); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_INVISIBLE); EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_HIDDEN); EXPECT_TRUE(flags & FPDF_ANNOT_FLAG_PRINT); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_NOZOOM); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_NOROTATE); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_NOVIEW); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_READONLY); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_LOCKED); + EXPECT_FALSE(flags & FPDF_ANNOT_FLAG_TOGGLENOVIEW); // Set the HIDDEN flag. flags |= FPDF_ANNOT_FLAG_HIDDEN; @@ -1901,6 +1908,9 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_TEXT_MULTILINE); EXPECT_FALSE(flags & FPDF_FORMFLAG_TEXT_PASSWORD); } @@ -1912,6 +1922,9 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_TRUE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_TEXT_MULTILINE); EXPECT_FALSE(flags & FPDF_FORMFLAG_TEXT_PASSWORD); } @@ -1923,6 +1936,9 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_TEXT_MULTILINE); EXPECT_TRUE(flags & FPDF_FORMFLAG_TEXT_PASSWORD); } @@ -1943,8 +1959,11 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } { @@ -1955,8 +1974,11 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } { @@ -1967,8 +1989,11 @@ // Check that the flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_TRUE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } UnloadPage(page); @@ -2017,6 +2042,8 @@ // Check that interactive form annotation flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); } @@ -2030,6 +2057,8 @@ // Check that interactive form annotation flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_TRUE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); } UnloadPage(page); @@ -2051,8 +2080,11 @@ // Check that interactive form annotation flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } { @@ -2065,8 +2097,11 @@ // Check that interactive form annotation flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_FALSE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } { @@ -2079,8 +2114,11 @@ // Check that interactive form annotation flag values are as expected. int flags = FPDFAnnot_GetFormFieldFlags(form_handle(), annot.get()); EXPECT_TRUE(flags & FPDF_FORMFLAG_READONLY); + EXPECT_FALSE(flags & FPDF_FORMFLAG_REQUIRED); + EXPECT_FALSE(flags & FPDF_FORMFLAG_NOEXPORT); EXPECT_TRUE(flags & FPDF_FORMFLAG_CHOICE_COMBO); EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_EDIT); + EXPECT_FALSE(flags & FPDF_FORMFLAG_CHOICE_MULTI_SELECT); } UnloadPage(page);