Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cpdfsdk_annotiterator_embeddertest.cpp
Go to the documentation of this file.
1
// Copyright 2016 The PDFium Authors
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
"fpdfsdk/cpdfsdk_annot.h"
6
#
include
"fpdfsdk/cpdfsdk_annotiterator.h"
7
#
include
"fpdfsdk/cpdfsdk_formfillenvironment.h"
8
#
include
"fpdfsdk/cpdfsdk_helpers.h"
9
#
include
"testing/embedder_test.h"
10
#
include
"testing/embedder_test_mock_delegate.h"
11
#
include
"testing/embedder_test_timer_handling_delegate.h"
12
#
include
"testing/gmock/include/gmock/gmock.h"
13
#
include
"testing/gtest/include/gtest/gtest.h"
14
15
namespace
{
16
17
void
CheckRect(
const
CFX_FloatRect
& actual,
const
CFX_FloatRect
& expected) {
18
EXPECT_EQ(expected
.
left
, actual
.
left
);
19
EXPECT_EQ(expected
.
bottom
, actual
.
bottom
);
20
EXPECT_EQ(expected
.
right
, actual
.
right
);
21
EXPECT_EQ(expected
.
top
, actual
.
top
);
22
}
23
24
}
// namespace
25
26
class
CPDFSDKAnnotIteratorTest
:
public
EmbedderTest
{};
27
28
TEST_F
(
CPDFSDKAnnotIteratorTest
,
AnnotIterator
) {
29
ASSERT_TRUE(OpenDocument(
"annotiter.pdf"
));
30
ScopedEmbedderTestPage page0 = LoadScopedPage(0);
31
ScopedEmbedderTestPage page1 = LoadScopedPage(1);
32
ScopedEmbedderTestPage page2 = LoadScopedPage(2);
33
ASSERT_TRUE(page0);
34
ASSERT_TRUE(page1);
35
ASSERT_TRUE(page2);
36
37
CFX_FloatRect
LeftBottom
(
200
,
200
,
220
,
220
)
;
38
CFX_FloatRect
RightBottom
(
400
,
201
,
420
,
221
)
;
39
CFX_FloatRect
LeftTop
(
201
,
400
,
221
,
420
)
;
40
CFX_FloatRect
RightTop
(
401
,
401
,
421
,
421
)
;
41
42
CPDFSDK_FormFillEnvironment* pFormFillEnv =
43
CPDFSDKFormFillEnvironmentFromFPDFFormHandle(form_handle());
44
45
{
46
// Page 0 specifies "row order".
47
CPDFSDK_AnnotIterator
iter(pFormFillEnv
->
GetPageViewAtIndex
(
0
)
,
48
{
CPDF_Annot
::
Subtype
::
WIDGET
});
49
CPDFSDK_Annot
* pAnnot = iter
.
GetFirstAnnot
(
)
;
50
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
51
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
52
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
53
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
54
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
55
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
56
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
57
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
58
EXPECT_FALSE(pAnnot);
59
60
pAnnot = iter
.
GetLastAnnot
(
)
;
61
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
62
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
63
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
64
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
65
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
66
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
67
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
68
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
69
EXPECT_FALSE(pAnnot);
70
}
71
{
72
// Page 1 specifies "column order"
73
CPDFSDK_AnnotIterator
iter(pFormFillEnv
->
GetPageViewAtIndex
(
1
)
,
74
{
CPDF_Annot
::
Subtype
::
WIDGET
});
75
CPDFSDK_Annot
* pAnnot = iter
.
GetFirstAnnot
(
)
;
76
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
77
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
78
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
79
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
80
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
81
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
82
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
83
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
84
EXPECT_FALSE(pAnnot);
85
86
pAnnot = iter
.
GetLastAnnot
(
)
;
87
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
88
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
89
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
90
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
91
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
92
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
93
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
94
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
95
EXPECT_FALSE(pAnnot);
96
}
97
{
98
// Page 2 specifies "struct order"
99
CPDFSDK_AnnotIterator
iter(pFormFillEnv
->
GetPageViewAtIndex
(
2
)
,
100
{
CPDF_Annot
::
Subtype
::
WIDGET
});
101
CPDFSDK_Annot
* pAnnot = iter
.
GetFirstAnnot
(
)
;
102
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
103
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
104
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
105
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
106
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
107
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
108
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
109
pAnnot = iter
.
GetNextAnnot
(
pAnnot
)
;
110
EXPECT_FALSE(pAnnot);
111
112
pAnnot = iter
.
GetLastAnnot
(
)
;
113
CheckRect(pAnnot
->
GetRect
(
)
, RightBottom);
114
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
115
CheckRect(pAnnot
->
GetRect
(
)
, LeftTop);
116
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
117
CheckRect(pAnnot
->
GetRect
(
)
, RightTop);
118
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
119
CheckRect(pAnnot
->
GetRect
(
)
, LeftBottom);
120
pAnnot = iter
.
GetPrevAnnot
(
pAnnot
)
;
121
EXPECT_FALSE(pAnnot);
122
}
123
}
CFX_FloatRect
Definition
fx_coordinates.h:185
CFX_FloatRect::CFX_FloatRect
constexpr CFX_FloatRect(float l, float b, float r, float t)
Definition
fx_coordinates.h:188
CFX_FloatRect::left
float left
Definition
fx_coordinates.h:269
CFX_FloatRect::bottom
float bottom
Definition
fx_coordinates.h:270
CFX_FloatRect::right
float right
Definition
fx_coordinates.h:271
CFX_FloatRect::top
float top
Definition
fx_coordinates.h:272
CPDFSDKAnnotIteratorTest
Definition
cpdfsdk_annotiterator_embeddertest.cpp:26
CPDFSDK_AnnotIterator
Definition
cpdfsdk_annotiterator.h:20
CPDFSDK_AnnotIterator::GetFirstAnnot
CPDFSDK_Annot * GetFirstAnnot()
Definition
cpdfsdk_annotiterator.cpp:48
CPDFSDK_AnnotIterator::GetLastAnnot
CPDFSDK_Annot * GetLastAnnot()
Definition
cpdfsdk_annotiterator.cpp:52
CPDFSDK_AnnotIterator::GetNextAnnot
CPDFSDK_Annot * GetNextAnnot(CPDFSDK_Annot *pAnnot)
Definition
cpdfsdk_annotiterator.cpp:56
CPDFSDK_AnnotIterator::GetPrevAnnot
CPDFSDK_Annot * GetPrevAnnot(CPDFSDK_Annot *pAnnot)
Definition
cpdfsdk_annotiterator.cpp:66
CPDFSDK_Annot
Definition
cpdfsdk_annot.h:24
CPDFSDK_Annot::GetRect
virtual CFX_FloatRect GetRect() const =0
CPDFSDK_FormFillEnvironment::GetPageViewAtIndex
CPDFSDK_PageView * GetPageViewAtIndex(int nIndex)
Definition
cpdfsdk_formfillenvironment.cpp:643
CPDF_Annot
Definition
cpdf_annot.h:32
CPDF_Annot::Subtype
Subtype
Definition
cpdf_annot.h:35
CPDF_Annot::Subtype::WIDGET
@ WIDGET
Definition
cpdf_annot.h:56
EmbedderTest
Definition
embedder_test.h:40
TEST_F
TEST_F(CPDFSDKAnnotIteratorTest, AnnotIterator)
Definition
cpdfsdk_annotiterator_embeddertest.cpp:28
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fpdfsdk
cpdfsdk_annotiterator_embeddertest.cpp
Generated on
for Qt by
1.18.0