Add a first page in UseCachedPageObjNumIfHaveNotPagesDict unit test.

This test case creates a minimal linearized dictionary, which does not
have a valid first page. This test will fail if PDFium adds more
validity checks for the first page in linearized PDFs in the near
future. Avoid that problem by adding a first page.

Bug: chromium:1012237
Change-Id: If7dd3345ba38beb5004689c479186f1644723783
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/67650
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_document_unittest.cpp b/core/fpdfapi/parser/cpdf_document_unittest.cpp
index 57b977f..c469743 100644
--- a/core/fpdfapi/parser/cpdf_document_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_document_unittest.cpp
@@ -235,8 +235,14 @@
   CPDF_TestDocumentAllowSetParser document;
 
   {
+    CPDF_Object* first_page = document.AddIndirectObject(CreateNumberedPage(0));
+    ASSERT(first_page);
+    int first_page_obj_num = first_page->GetObjNum();
+    ASSERT_NE(kTestPageNum, first_page_obj_num);
+
     linearization_dict->SetNewFor<CPDF_Boolean>("Linearized", true);
     linearization_dict->SetNewFor<CPDF_Number>("N", kPageCount);
+    linearization_dict->SetNewFor<CPDF_Number>("O", first_page_obj_num);
 
     auto parser = pdfium::MakeUnique<CPDF_Parser>();
     parser->SetLinearizedHeaderForTesting(