Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: fpdfsdk/fpdfdoc_unittest.cpp

Issue 2386273004: Add ptr_util.h from base until std::make_unique<> available (Closed)
Patch Set: 2016 Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/fpdf_progressive.cpp ('k') | fpdfsdk/fpdfeditimg.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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 6
7 #include <memory> 7 #include <memory>
8 #include <vector> 8 #include <vector>
9 9
10 #include "core/fpdfapi/cpdf_modulemgr.h" 10 #include "core/fpdfapi/cpdf_modulemgr.h"
11 #include "core/fpdfapi/fpdf_parser/cpdf_document.h" 11 #include "core/fpdfapi/fpdf_parser/cpdf_document.h"
12 #include "core/fpdfapi/fpdf_parser/cpdf_name.h" 12 #include "core/fpdfapi/fpdf_parser/cpdf_name.h"
13 #include "core/fpdfapi/fpdf_parser/cpdf_number.h" 13 #include "core/fpdfapi/fpdf_parser/cpdf_number.h"
14 #include "core/fpdfapi/fpdf_parser/cpdf_parser.h" 14 #include "core/fpdfapi/fpdf_parser/cpdf_parser.h"
15 #include "core/fpdfapi/fpdf_parser/cpdf_reference.h" 15 #include "core/fpdfapi/fpdf_parser/cpdf_reference.h"
16 #include "core/fpdfapi/fpdf_parser/cpdf_string.h" 16 #include "core/fpdfapi/fpdf_parser/cpdf_string.h"
17 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
18 #include "testing/test_support.h" 18 #include "testing/test_support.h"
19 #include "third_party/base/ptr_util.h"
19 20
20 #ifdef PDF_ENABLE_XFA 21 #ifdef PDF_ENABLE_XFA
21 #include "fpdfsdk/fpdfxfa/fpdfxfa_app.h" 22 #include "fpdfsdk/fpdfxfa/fpdfxfa_app.h"
22 #include "fpdfsdk/fpdfxfa/fpdfxfa_doc.h" 23 #include "fpdfsdk/fpdfxfa/fpdfxfa_doc.h"
23 #endif // PDF_ENABLE_XFA 24 #endif // PDF_ENABLE_XFA
24 25
25 class CPDF_TestDocument : public CPDF_Document { 26 class CPDF_TestDocument : public CPDF_Document {
26 public: 27 public:
27 CPDF_TestDocument() : CPDF_Document(std::unique_ptr<CPDF_Parser>()) {} 28 CPDF_TestDocument() : CPDF_Document(std::unique_ptr<CPDF_Parser>()) {}
28 29
29 void SetRoot(CPDF_Dictionary* root) { m_pRootDict = root; } 30 void SetRoot(CPDF_Dictionary* root) { m_pRootDict = root; }
30 CPDF_IndirectObjectHolder* GetHolder() { return this; } 31 CPDF_IndirectObjectHolder* GetHolder() { return this; }
31 }; 32 };
32 33
33 #ifdef PDF_ENABLE_XFA 34 #ifdef PDF_ENABLE_XFA
34 class CPDF_TestXFADocument : public CPDFXFA_Document { 35 class CPDF_TestXFADocument : public CPDFXFA_Document {
35 public: 36 public:
36 CPDF_TestXFADocument() 37 CPDF_TestXFADocument()
37 : CPDFXFA_Document(WrapUnique(new CPDF_TestDocument()), 38 : CPDFXFA_Document(pdfium::MakeUnique<CPDF_TestDocument>(),
38 CPDFXFA_App::GetInstance()) {} 39 CPDFXFA_App::GetInstance()) {}
39 40
40 void SetRoot(CPDF_Dictionary* root) { 41 void SetRoot(CPDF_Dictionary* root) {
41 reinterpret_cast<CPDF_TestDocument*>(GetPDFDoc())->SetRoot(root); 42 reinterpret_cast<CPDF_TestDocument*>(GetPDFDoc())->SetRoot(root);
42 } 43 }
43 44
44 CPDF_IndirectObjectHolder* GetHolder() { return GetPDFDoc(); } 45 CPDF_IndirectObjectHolder* GetHolder() { return GetPDFDoc(); }
45 }; 46 };
46 using CPDF_TestPdfDocument = CPDF_TestXFADocument; 47 using CPDF_TestPdfDocument = CPDF_TestXFADocument;
47 #else // PDF_ENABLE_XFA 48 #else // PDF_ENABLE_XFA
48 using CPDF_TestPdfDocument = CPDF_TestDocument; 49 using CPDF_TestPdfDocument = CPDF_TestDocument;
49 #endif // PDF_ENABLE_XFA 50 #endif // PDF_ENABLE_XFA
50 51
51 class PDFDocTest : public testing::Test { 52 class PDFDocTest : public testing::Test {
52 public: 53 public:
53 struct DictObjInfo { 54 struct DictObjInfo {
54 uint32_t num; 55 uint32_t num;
55 CPDF_Dictionary* obj; 56 CPDF_Dictionary* obj;
56 }; 57 };
57 58
58 void SetUp() override { 59 void SetUp() override {
59 // We don't need page module or render module, but 60 // We don't need page module or render module, but
60 // initialize them to keep the code sane. 61 // initialize them to keep the code sane.
61 CPDF_ModuleMgr* module_mgr = CPDF_ModuleMgr::Get(); 62 CPDF_ModuleMgr* module_mgr = CPDF_ModuleMgr::Get();
62 module_mgr->InitPageModule(); 63 module_mgr->InitPageModule();
63 64
64 m_pDoc = WrapUnique(new CPDF_TestPdfDocument()); 65 m_pDoc = pdfium::MakeUnique<CPDF_TestPdfDocument>();
65 m_pIndirectObjs = m_pDoc->GetHolder(); 66 m_pIndirectObjs = m_pDoc->GetHolder();
66 // Setup the root directory. 67 // Setup the root directory.
67 m_pRootObj.reset(new CPDF_Dictionary()); 68 m_pRootObj.reset(new CPDF_Dictionary());
68 m_pDoc->SetRoot(m_pRootObj.get()); 69 m_pDoc->SetRoot(m_pRootObj.get());
69 } 70 }
70 71
71 void TearDown() override { 72 void TearDown() override {
72 m_pRootObj.reset(); 73 m_pRootObj.reset();
73 m_pIndirectObjs = nullptr; 74 m_pIndirectObjs = nullptr;
74 m_pDoc.reset(); 75 m_pDoc.reset();
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 // Title with no match. 225 // Title with no match.
225 std::unique_ptr<unsigned short, pdfium::FreeDeleter> title = 226 std::unique_ptr<unsigned short, pdfium::FreeDeleter> title =
226 GetFPDFWideString(L"Chapter 8"); 227 GetFPDFWideString(L"Chapter 8");
227 EXPECT_EQ(nullptr, FPDFBookmark_Find(m_pDoc.get(), title.get())); 228 EXPECT_EQ(nullptr, FPDFBookmark_Find(m_pDoc.get(), title.get()));
228 229
229 // Title with a match. 230 // Title with a match.
230 title = GetFPDFWideString(L"Chapter 3"); 231 title = GetFPDFWideString(L"Chapter 3");
231 EXPECT_EQ(bookmarks[3].obj, FPDFBookmark_Find(m_pDoc.get(), title.get())); 232 EXPECT_EQ(bookmarks[3].obj, FPDFBookmark_Find(m_pDoc.get(), title.get()));
232 } 233 }
233 } 234 }
OLDNEW
« no previous file with comments | « fpdfsdk/fpdf_progressive.cpp ('k') | fpdfsdk/fpdfeditimg.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698