OLD | NEW |
1 // Copyright 2015 PDFium Authors. All rights reserved. | 1 // Copyright 2015 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "../../public/fpdf_doc.h" | 5 #include "../../public/fpdf_doc.h" |
6 #include "../../public/fpdfview.h" | 6 #include "../../public/fpdfview.h" |
7 #include "../../testing/embedder_test.h" | 7 #include "../../testing/embedder_test.h" |
8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
9 | 9 |
10 class FPDFDocEmbeddertest : public EmbedderTest {}; | 10 class FPDFDocEmbeddertest : public EmbedderTest {}; |
(...skipping 17 matching lines...) Expand all Loading... |
28 // Page number directly in item from Dests dictionary. | 28 // Page number directly in item from Dests dictionary. |
29 dest = FPDF_GetNamedDestByName(document(), "FirstAlternate"); | 29 dest = FPDF_GetNamedDestByName(document(), "FirstAlternate"); |
30 EXPECT_NE(nullptr, dest); | 30 EXPECT_NE(nullptr, dest); |
31 EXPECT_EQ(11U, FPDFDest_GetPageIndex(document(), dest)); | 31 EXPECT_EQ(11U, FPDFDest_GetPageIndex(document(), dest)); |
32 | 32 |
33 // Invalid object reference in item from Dests NameTree. | 33 // Invalid object reference in item from Dests NameTree. |
34 dest = FPDF_GetNamedDestByName(document(), "LastAlternate"); | 34 dest = FPDF_GetNamedDestByName(document(), "LastAlternate"); |
35 EXPECT_NE(nullptr, dest); | 35 EXPECT_NE(nullptr, dest); |
36 EXPECT_EQ(0U, FPDFDest_GetPageIndex(document(), dest)); | 36 EXPECT_EQ(0U, FPDFDest_GetPageIndex(document(), dest)); |
37 } | 37 } |
| 38 |
| 39 TEST_F(FPDFDocEmbeddertest, ActionGetFilePath) { |
| 40 EXPECT_TRUE(OpenDocument("testing/resources/launch_action.pdf")); |
| 41 |
| 42 FPDF_PAGE page = FPDF_LoadPage(document(), 0); |
| 43 ASSERT_TRUE(page); |
| 44 |
| 45 // The target action is nearly the size of the whole page. |
| 46 FPDF_LINK link = FPDFLink_GetLinkAtPoint(page, 100, 100); |
| 47 ASSERT_TRUE(link); |
| 48 |
| 49 FPDF_ACTION action = FPDFLink_GetAction(link); |
| 50 ASSERT_TRUE(action); |
| 51 |
| 52 const char kExpectedResult[] = "test.pdf"; |
| 53 const unsigned long kExpectedLength = strlen(kExpectedResult) + 1; |
| 54 unsigned long bufsize = FPDFAction_GetFilePath(action, nullptr, 0); |
| 55 ASSERT_EQ(kExpectedLength, bufsize); |
| 56 |
| 57 char buf[kExpectedLength]; |
| 58 EXPECT_EQ(bufsize, FPDFAction_GetFilePath(action, buf, bufsize)); |
| 59 EXPECT_EQ(std::string(kExpectedResult), std::string(buf)); |
| 60 |
| 61 FPDF_ClosePage(page); |
| 62 } |
OLD | NEW |