clang-format all pdfium code.
[pdfium.git] / fpdfsdk / src / fpdfdoc_embeddertest.cpp
1 // Copyright 2015 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "../../public/fpdf_doc.h"
6 #include "../../public/fpdfview.h"
7 #include "../../testing/embedder_test.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 class FPDFDocEmbeddertest : public EmbedderTest {};
11
12 TEST_F(FPDFDocEmbeddertest, DestGetPageIndex) {
13   EXPECT_TRUE(OpenDocument("testing/resources/named_dests.pdf"));
14
15   // NULL FPDF_DEST case.
16   EXPECT_EQ(0, FPDFDest_GetPageIndex(document(), nullptr));
17
18   // Page number directly in item from Dests NameTree.
19   FPDF_DEST dest = FPDF_GetNamedDestByName(document(), "First");
20   EXPECT_NE(nullptr, dest);
21   EXPECT_EQ(1, FPDFDest_GetPageIndex(document(), dest));
22
23   // Page number via object reference in item from Dests NameTree.
24   dest = FPDF_GetNamedDestByName(document(), "Next");
25   EXPECT_NE(nullptr, dest);
26   EXPECT_EQ(1, FPDFDest_GetPageIndex(document(), dest));
27
28   // Page number directly in item from Dests dictionary.
29   dest = FPDF_GetNamedDestByName(document(), "FirstAlternate");
30   EXPECT_NE(nullptr, dest);
31   EXPECT_EQ(11, FPDFDest_GetPageIndex(document(), dest));
32
33   // Invalid object reference in item from Dests NameTree.
34   dest = FPDF_GetNamedDestByName(document(), "LastAlternate");
35   EXPECT_NE(nullptr, dest);
36   EXPECT_EQ(0, FPDFDest_GetPageIndex(document(), dest));
37 }