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
cfx_barcode_unittest.cpp
Go to the documentation of this file.
1
// Copyright 2017 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
"fxbarcode/cfx_barcode.h"
6
7
#
include
<
memory
>
8
#
include
<
string
>
9
#
include
<
utility
>
10
11
#
include
"core/fxcrt/fx_coordinates.h"
12
#
include
"core/fxcrt/fx_string.h"
13
#
include
"core/fxge/cfx_defaultrenderdevice.h"
14
#
include
"core/fxge/cfx_renderdevice.h"
15
#
include
"core/fxge/dib/cfx_dibitmap.h"
16
#
include
"testing/gtest/include/gtest/gtest.h"
17
#
include
"testing/utils/bitmap_saver.h"
18
#
include
"testing/utils/hash.h"
19
20
class
BarcodeTest
:
public
testing
::
Test
{
21
public
:
22
void
SetUp
()
override
{
23
BC_Library_Init
(
)
;
24
25
auto
device =
std
::make_unique<CFX_DefaultRenderDevice>();
26
auto
bitmap =
pdfium
::MakeRetain<CFX_DIBitmap>();
27
if
(bitmap->Create(640, 480,
FXDIB_Format
::
kBgrx
)) {
28
bitmap_ = bitmap;
29
}
30
ASSERT_TRUE(bitmap_);
31
ASSERT_TRUE(device->Attach(bitmap_));
32
device_ = std::move(device);
33
}
34
35
void
TearDown
()
override
{
36
bitmap_.Reset();
37
device_.reset();
38
barcode_.reset();
39
BC_Library_Destroy
(
)
;
40
}
41
42
CFX_Barcode
*
barcode
()
const
{
return
barcode_.get(); }
43
44
void
Create
(
BC_TYPE
type) {
45
barcode_ = CFX_Barcode::Create(type);
46
barcode_->SetHeight(298);
47
barcode_->SetWidth(418);
48
}
49
50
bool
RenderDevice
() {
return
barcode_->RenderDevice(device_.get(), matrix_); }
51
52
std
::string
BitmapChecksum
() {
53
return
GenerateMD5Base16(bitmap_->GetBuffer());
54
}
55
56
// Manually insert calls to this as needed for debugging.
57
void
SaveBitmap
(
const
std
::string& filename) {
58
BitmapSaver
::WriteBitmapToPng(bitmap_.Get(), filename);
59
}
60
61
protected
:
62
CFX_Matrix
matrix_
;
63
std
::
unique_ptr
<
CFX_Barcode
>
barcode_
;
64
std
::
unique_ptr
<
CFX_RenderDevice
>
device_
;
65
RetainPtr
<CFX_DIBitmap>
bitmap_
;
66
};
67
68
// https://crbug.com/pdfium/738
69
#
if
defined
(
PDF_USE_SKIA
)
70
#
define
MAYBE_Code39
DISABLED_Code39
71
#
else
72
#
define
MAYBE_Code39
Code39
73
#
endif
74
TEST_F
(
BarcodeTest
,
MAYBE_Code39
) {
75
Create(
BC_TYPE
::
kCode39
);
76
EXPECT_TRUE(barcode()->Encode(L"CLAMS"));
77
RenderDevice();
78
EXPECT_EQ(
"cd4cd3f36da38ff58d9f621827018903"
, BitmapChecksum());
79
}
80
81
// https://crbug.com/pdfium/738
82
#
if
defined
(
PDF_USE_SKIA
)
83
#
define
MAYBE_CodaBar
DISABLED_CodaBar
84
#
else
85
#
define
MAYBE_CodaBar
CodaBar
86
#
endif
87
TEST_F
(
BarcodeTest
,
MAYBE_CodaBar
) {
88
Create(
BC_TYPE
::
kCodabar
);
89
EXPECT_TRUE(barcode()->Encode(L"$123-456"));
90
RenderDevice();
91
EXPECT_EQ(
"5fad4fc19f099001a0fe83c89430c977"
, BitmapChecksum());
92
}
93
94
TEST_F
(
BarcodeTest
,
CodaBarLetters
) {
95
Create(
BC_TYPE
::
kCodabar
);
96
EXPECT_FALSE(barcode()->Encode(L"clams"));
97
}
98
99
// https://crbug.com/pdfium/738
100
#
if
defined
(
PDF_USE_SKIA
)
101
#
define
MAYBE_Code128
DISABLED_Code128
102
#
else
103
#
define
MAYBE_Code128
Code128
104
#
endif
105
TEST_F
(
BarcodeTest
,
MAYBE_Code128
) {
106
Create(
BC_TYPE
::
kCode128
);
107
EXPECT_TRUE(barcode()->Encode(L"Clams"));
108
RenderDevice();
109
EXPECT_EQ(
"6351f0f6e997050e4658bbb4777aef74"
, BitmapChecksum());
110
}
111
112
// https://crbug.com/pdfium/738
113
#
if
defined
(
PDF_USE_SKIA
)
114
#
define
MAYBE_Code128B
DISABLED_Code128B
115
#
else
116
#
define
MAYBE_Code128B
Code128B
117
#
endif
118
TEST_F
(
BarcodeTest
,
MAYBE_Code128B
) {
119
Create(
BC_TYPE
::
kCode128B
);
120
EXPECT_TRUE(barcode()->Encode(L"Clams"));
121
RenderDevice();
122
EXPECT_EQ(
"6351f0f6e997050e4658bbb4777aef74"
, BitmapChecksum());
123
}
124
125
// https://crbug.com/pdfium/738
126
#
if
defined
(
PDF_USE_SKIA
)
127
#
define
MAYBE_Code128C
DISABLED_Code128C
128
#
else
129
#
define
MAYBE_Code128C
Code128C
130
#
endif
131
TEST_F
(
BarcodeTest
,
MAYBE_Code128C
) {
132
Create(
BC_TYPE
::
kCode128C
);
133
EXPECT_TRUE(barcode()->Encode(L"123456"));
134
RenderDevice();
135
EXPECT_EQ(
"fba730a807ba6363f9bd2bc7f8c56d1f"
, BitmapChecksum());
136
}
137
138
// https://crbug.com/pdfium/738
139
#
if
defined
(
PDF_USE_SKIA
)
140
#
define
MAYBE_Code128CLetters
DISABLED_Code128CLetters
141
#
else
142
#
define
MAYBE_Code128CLetters
Code128CLetters
143
#
endif
144
TEST_F
(
BarcodeTest
,
MAYBE_Code128CLetters
) {
145
Create(
BC_TYPE
::
kCode128C
);
146
EXPECT_TRUE(barcode()->Encode(L"clams"));
147
RenderDevice();
148
EXPECT_EQ(
"6284ec8503d5a948c9518108da33cdd3"
, BitmapChecksum());
149
}
150
151
// https://crbug.com/pdfium/738
152
#
if
defined
(
PDF_USE_SKIA
)
153
#
define
MAYBE_Ean8
DISABLED_Ean8
154
#
else
155
#
define
MAYBE_Ean8
Ean8
156
#
endif
157
TEST_F
(
BarcodeTest
,
MAYBE_Ean8
) {
158
Create(
BC_TYPE
::
kEAN8
);
159
EXPECT_TRUE(barcode()->Encode(L"123456"));
160
RenderDevice();
161
EXPECT_EQ(
"aff88491ac46ca6217d780d185300cde"
, BitmapChecksum());
162
}
163
164
TEST_F
(
BarcodeTest
,
Ean8Letters
) {
165
Create(
BC_TYPE
::
kEAN8
);
166
EXPECT_FALSE(barcode()->Encode(L"clams"));
167
}
168
169
// https://crbug.com/pdfium/738
170
#
if
defined
(
PDF_USE_SKIA
)
171
#
define
MAYBE_UPCA
DISABLED_UPCA
172
#
else
173
#
define
MAYBE_UPCA
UPCA
174
#
endif
175
TEST_F
(
BarcodeTest
,
MAYBE_UPCA
) {
176
Create(
BC_TYPE
::
kUPCA
);
177
EXPECT_TRUE(barcode()->Encode(L"123456"));
178
RenderDevice();
179
EXPECT_EQ(
"fe26a5714cff7ffe3f9b02183efc435b"
, BitmapChecksum());
180
}
181
182
TEST_F
(
BarcodeTest
,
UPCALetters
) {
183
Create(
BC_TYPE
::
kUPCA
);
184
EXPECT_FALSE(barcode()->Encode(L"clams"));
185
}
186
187
// https://crbug.com/pdfium/738
188
#
if
defined
(
PDF_USE_SKIA
)
189
#
define
MAYBE_Ean13
DISABLED_Ean13
190
#
else
191
#
define
MAYBE_Ean13
Ean13
192
#
endif
193
TEST_F
(
BarcodeTest
,
MAYBE_Ean13
) {
194
Create(
BC_TYPE
::
kEAN13
);
195
EXPECT_TRUE(barcode()->Encode(L"123456"));
196
RenderDevice();
197
EXPECT_EQ(
"72d2190b98d635c32834bf67552e561e"
, BitmapChecksum());
198
}
199
200
TEST_F
(
BarcodeTest
,
Ean13Letters
) {
201
Create(
BC_TYPE
::
kEAN13
);
202
EXPECT_FALSE(barcode()->Encode(L"clams"));
203
}
204
205
// https://crbug.com/pdfium/738
206
#
if
defined
(
PDF_USE_SKIA
)
207
#
define
MAYBE_Pdf417
DISABLED_Pdf417
208
#
else
209
#
define
MAYBE_Pdf417
Pdf417
210
#
endif
211
TEST_F
(
BarcodeTest
,
MAYBE_Pdf417
) {
212
Create(
BC_TYPE
::
kPDF417
);
213
EXPECT_TRUE(barcode()->Encode(L"clams"));
214
RenderDevice();
215
EXPECT_EQ(
"191e35d11613901b7d5d51033689aa89"
, BitmapChecksum());
216
}
217
218
// https://crbug.com/pdfium/738
219
#
if
defined
(
PDF_USE_SKIA
)
220
#
define
MAYBE_DataMatrix
DISABLED_DataMatrix
221
#
else
222
#
define
MAYBE_DataMatrix
DataMatrix
223
#
endif
224
TEST_F
(
BarcodeTest
,
MAYBE_DataMatrix
) {
225
Create(
BC_TYPE
::
kDataMatrix
);
226
EXPECT_TRUE(barcode()->Encode(L"clams"));
227
RenderDevice();
228
EXPECT_EQ(
"5e5cd9a680b86fcd4ffd53ed36e3c980"
, BitmapChecksum());
229
}
230
231
// https://crbug.com/pdfium/738
232
#
if
defined
(
PDF_USE_SKIA
)
233
#
define
MAYBE_QrCode
DISABLED_QrCode
234
#
else
235
#
define
MAYBE_QrCode
QrCode
236
#
endif
237
TEST_F
(
BarcodeTest
,
MAYBE_QrCode
) {
238
Create(
BC_TYPE
::
kQRCode
);
239
EXPECT_TRUE(barcode()->Encode(L"clams"));
240
RenderDevice();
241
EXPECT_EQ(
"4751c6e0f67749fabe24f787128decee"
, BitmapChecksum());
242
}
BC_TYPE
BC_TYPE
Definition
BC_Library.h:20
BC_TYPE::kQRCode
@ kQRCode
Definition
BC_Library.h:30
BC_TYPE::kEAN8
@ kEAN8
Definition
BC_Library.h:27
BC_TYPE::kEAN13
@ kEAN13
Definition
BC_Library.h:29
BC_TYPE::kUPCA
@ kUPCA
Definition
BC_Library.h:28
BC_TYPE::kCode128C
@ kCode128C
Definition
BC_Library.h:26
BC_TYPE::kCodabar
@ kCodabar
Definition
BC_Library.h:23
BC_TYPE::kPDF417
@ kPDF417
Definition
BC_Library.h:31
BC_TYPE::kDataMatrix
@ kDataMatrix
Definition
BC_Library.h:32
BC_TYPE::kCode128B
@ kCode128B
Definition
BC_Library.h:25
BC_TYPE::kCode39
@ kCode39
Definition
BC_Library.h:22
BC_TYPE::kCode128
@ kCode128
Definition
BC_Library.h:24
BC_Library_Init
void BC_Library_Init()
Definition
BC_Library.cpp:17
BC_Library_Destroy
void BC_Library_Destroy()
Definition
BC_Library.cpp:25
MAYBE_Pdf417
#define MAYBE_Pdf417
Definition
cfx_barcode_unittest.cpp:209
MAYBE_Code128B
#define MAYBE_Code128B
Definition
cfx_barcode_unittest.cpp:116
MAYBE_Code128C
#define MAYBE_Code128C
Definition
cfx_barcode_unittest.cpp:129
MAYBE_UPCA
#define MAYBE_UPCA
Definition
cfx_barcode_unittest.cpp:173
MAYBE_Code128
#define MAYBE_Code128
Definition
cfx_barcode_unittest.cpp:103
MAYBE_CodaBar
#define MAYBE_CodaBar
Definition
cfx_barcode_unittest.cpp:85
MAYBE_Code128CLetters
#define MAYBE_Code128CLetters
Definition
cfx_barcode_unittest.cpp:142
MAYBE_QrCode
#define MAYBE_QrCode
Definition
cfx_barcode_unittest.cpp:235
TEST_F
TEST_F(BarcodeTest, MAYBE_Code39)
Definition
cfx_barcode_unittest.cpp:74
MAYBE_DataMatrix
#define MAYBE_DataMatrix
Definition
cfx_barcode_unittest.cpp:222
MAYBE_Ean13
#define MAYBE_Ean13
Definition
cfx_barcode_unittest.cpp:191
MAYBE_Ean8
#define MAYBE_Ean8
Definition
cfx_barcode_unittest.cpp:155
MAYBE_Code39
#define MAYBE_Code39
Definition
cfx_barcode_unittest.cpp:72
BarcodeTest
Definition
cfx_barcode_unittest.cpp:20
BarcodeTest::TearDown
void TearDown() override
Definition
cfx_barcode_unittest.cpp:35
BarcodeTest::BitmapChecksum
std::string BitmapChecksum()
Definition
cfx_barcode_unittest.cpp:52
BarcodeTest::SetUp
void SetUp() override
Definition
cfx_barcode_unittest.cpp:22
BarcodeTest::barcode_
std::unique_ptr< CFX_Barcode > barcode_
Definition
cfx_barcode_unittest.cpp:63
BarcodeTest::barcode
CFX_Barcode * barcode() const
Definition
cfx_barcode_unittest.cpp:42
BarcodeTest::matrix_
CFX_Matrix matrix_
Definition
cfx_barcode_unittest.cpp:62
BarcodeTest::SaveBitmap
void SaveBitmap(const std::string &filename)
Definition
cfx_barcode_unittest.cpp:57
BarcodeTest::RenderDevice
bool RenderDevice()
Definition
cfx_barcode_unittest.cpp:50
BarcodeTest::Create
void Create(BC_TYPE type)
Definition
cfx_barcode_unittest.cpp:44
BarcodeTest::device_
std::unique_ptr< CFX_RenderDevice > device_
Definition
cfx_barcode_unittest.cpp:64
BarcodeTest::bitmap_
RetainPtr< CFX_DIBitmap > bitmap_
Definition
cfx_barcode_unittest.cpp:65
BitmapSaver
Definition
bitmap_saver.h:14
CFX_Barcode
Definition
cfx_barcode.h:23
CFX_Matrix
Definition
fx_coordinates.h:440
fxcrt::RetainPtr
Definition
retain_ptr.h:28
pdfium::CFDETextOutLargeBitmapTest
Definition
cfde_textout_unittest.cpp:117
FXDIB_Format
FXDIB_Format
Definition
fx_dib.h:21
FXDIB_Format::kBgrx
@ kBgrx
Definition
fx_dib.h:26
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fxbarcode
cfx_barcode_unittest.cpp
Generated on
for Qt by
1.18.0