diff options
author | Artem Strygin <art-snake@yandex-team.ru> | 2018-06-29 12:56:29 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-06-29 12:56:29 +0000 |
commit | c4642d4ffe8e6d315663119b5317d3a889e59f1a (patch) | |
tree | 3d7d5a98c91c1ced90da0b73ac6fa61b3434cc8b /core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp | |
parent | 20c3677acc37c959034d6111c0cab2e681b13717 (diff) | |
download | pdfium-c4642d4ffe8e6d315663119b5317d3a889e59f1a.tar.xz |
Implement CPDF_HintsTable::PageInfo.
Merge page info data from Hints Table into CPDF_HintsTable::PageInfo class.
Change-Id: I468996346ee153e3fa8ada6a83770614362d1b92
Reviewed-on: https://pdfium-review.googlesource.com/15813
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp')
-rw-r--r-- | core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp b/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp index e45722950e..3d98196093 100644 --- a/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp +++ b/core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp @@ -67,3 +67,32 @@ TEST_F(CPDF_HintTablesTest, Load) { ASSERT_FALSE( hint_tables->GetPagePos(2, &page_start, &page_length, &page_obj_num)); } + +TEST_F(CPDF_HintTablesTest, PageInfos) { + auto data_avail = MakeDataAvailFromFile("feature_linearized_loading.pdf"); + ASSERT_EQ(CPDF_DataAvail::DocAvailStatus::DataAvailable, + data_avail->IsDocAvail(nullptr)); + + const CPDF_HintTables* hint_tables = data_avail->GetHintTables(); + ASSERT_TRUE(hint_tables); + ASSERT_EQ(2u, hint_tables->PageInfos().size()); + + EXPECT_EQ(5u, hint_tables->PageInfos()[0].objects_count()); + EXPECT_EQ(777, hint_tables->PageInfos()[0].page_offset()); + EXPECT_EQ(4328u, hint_tables->PageInfos()[0].page_length()); + EXPECT_EQ(39u, hint_tables->PageInfos()[0].start_obj_num()); + ASSERT_EQ(2u, hint_tables->PageInfos()[0].Identifiers().size()); + + EXPECT_EQ(0u, hint_tables->PageInfos()[0].Identifiers()[0]); + EXPECT_EQ(0u, hint_tables->PageInfos()[0].Identifiers()[1]); + + EXPECT_EQ(3u, hint_tables->PageInfos()[1].objects_count()); + EXPECT_EQ(5105, hint_tables->PageInfos()[1].page_offset()); + EXPECT_EQ(767u, hint_tables->PageInfos()[1].page_length()); + EXPECT_EQ(1u, hint_tables->PageInfos()[1].start_obj_num()); + ASSERT_EQ(3u, hint_tables->PageInfos()[1].Identifiers().size()); + + EXPECT_EQ(2u, hint_tables->PageInfos()[1].Identifiers()[0]); + EXPECT_EQ(5u, hint_tables->PageInfos()[1].Identifiers()[1]); + EXPECT_EQ(3u, hint_tables->PageInfos()[1].Identifiers()[2]); +} |