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"));