Pass all flags to FPDF_SaveWithVersion().
Embeddertests should cover the entire API exposed to embedders. This
will, in turn, get additional coverage for the m_IsIncremental cases
in cpdf_creator.cpp.
Change-Id: Ie337fa52b3fee77db2bd9d8aea12e2661f832413
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80312
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/fpdf_save_embeddertest.cpp b/fpdfsdk/fpdf_save_embeddertest.cpp
index 4b8cfed..0f04f17 100644
--- a/fpdfsdk/fpdf_save_embeddertest.cpp
+++ b/fpdfsdk/fpdf_save_embeddertest.cpp
@@ -30,6 +30,7 @@
EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.4\r\n"));
EXPECT_EQ(805u, GetString().length());
}
+
TEST_F(FPDFSaveEmbedderTest, SaveSimpleDocWithBadVersion) {
ASSERT_TRUE(OpenDocument("hello_world.pdf"));
EXPECT_TRUE(FPDF_SaveWithVersion(document(), this, 0, -1));
@@ -44,6 +45,36 @@
EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.7\r\n"));
}
+TEST_F(FPDFSaveEmbedderTest, SaveSimpleDocIncremental) {
+ ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+ EXPECT_TRUE(FPDF_SaveWithVersion(document(), this, FPDF_INCREMENTAL, 14));
+ // Version gets taken as-is from input document.
+ EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.7\n%\xa0\xf2\xa4\xf4"));
+ // Additional output produced vs. non incremental.
+ EXPECT_EQ(985u, GetString().length());
+}
+
+TEST_F(FPDFSaveEmbedderTest, SaveSimpleDocNoIncremental) {
+ ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+ EXPECT_TRUE(FPDF_SaveWithVersion(document(), this, FPDF_NO_INCREMENTAL, 14));
+ EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.4\r\n"));
+ EXPECT_EQ(805u, GetString().length());
+}
+
+TEST_F(FPDFSaveEmbedderTest, SaveSimpleDocRemoveSecurity) {
+ ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+ EXPECT_TRUE(FPDF_SaveWithVersion(document(), this, FPDF_REMOVE_SECURITY, 14));
+ EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.4\r\n"));
+ EXPECT_EQ(805u, GetString().length());
+}
+
+TEST_F(FPDFSaveEmbedderTest, SaveSimpleDocBadFlags) {
+ ASSERT_TRUE(OpenDocument("hello_world.pdf"));
+ EXPECT_TRUE(FPDF_SaveWithVersion(document(), this, 999999, 14));
+ EXPECT_THAT(GetString(), testing::StartsWith("%PDF-1.4\r\n"));
+ EXPECT_EQ(805u, GetString().length());
+}
+
TEST_F(FPDFSaveEmbedderTest, SaveCopiedDoc) {
ASSERT_TRUE(OpenDocument("hello_world.pdf"));