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_cssdeclaration_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
"core/fxcrt/css/cfx_cssdeclaration.h"
6
7
#
include
<
optional
>
8
9
#
include
"testing/gtest/include/gtest/gtest.h"
10
11
TEST
(
CFX_CSSDeclarationTest
,
HexEncodingParsing
) {
12
std
::optional<
FX_ARGB
> maybe_color;
13
14
// Length value invalid.
15
EXPECT_FALSE(
CFX_CSSDeclaration
::
ParseCSSColor
(L"#00"));
16
EXPECT_FALSE(
CFX_CSSDeclaration
::
ParseCSSColor
(L"#0000"));
17
EXPECT_FALSE(
CFX_CSSDeclaration
::
ParseCSSColor
(L"#0000000"));
18
19
// Invalid characters
20
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"#zxytlm");
21
ASSERT_TRUE(maybe_color.has_value());
22
EXPECT_EQ(0,
FXARGB_R
(maybe_color.value()));
23
EXPECT_EQ(0,
FXARGB_G
(maybe_color.value()));
24
EXPECT_EQ(0,
FXARGB_B
(maybe_color.value()));
25
26
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"#000");
27
ASSERT_TRUE(maybe_color.has_value());
28
EXPECT_EQ(0,
FXARGB_R
(maybe_color.value()));
29
EXPECT_EQ(0,
FXARGB_G
(maybe_color.value()));
30
EXPECT_EQ(0,
FXARGB_B
(maybe_color.value()));
31
32
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"#FFF");
33
ASSERT_TRUE(maybe_color.has_value());
34
EXPECT_EQ(255,
FXARGB_R
(maybe_color.value()));
35
EXPECT_EQ(255,
FXARGB_G
(maybe_color.value()));
36
EXPECT_EQ(255,
FXARGB_B
(maybe_color.value()));
37
38
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"#F0F0F0");
39
ASSERT_TRUE(maybe_color.has_value());
40
EXPECT_EQ(240,
FXARGB_R
(maybe_color.value()));
41
EXPECT_EQ(240,
FXARGB_G
(maybe_color.value()));
42
EXPECT_EQ(240,
FXARGB_B
(maybe_color.value()));
43
44
// Upper and lower case characters.
45
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"#1b2F3c");
46
ASSERT_TRUE(maybe_color.has_value());
47
EXPECT_EQ(27,
FXARGB_R
(maybe_color.value()));
48
EXPECT_EQ(47,
FXARGB_G
(maybe_color.value()));
49
EXPECT_EQ(60,
FXARGB_B
(maybe_color.value()));
50
}
51
52
TEST
(
CFX_CSSDeclarationTest
,
RGBEncodingParsing
) {
53
std
::optional<
FX_ARGB
> maybe_color;
54
55
// Invalid input for rgb() syntax.
56
EXPECT_FALSE(
CFX_CSSDeclaration
::
ParseCSSColor
(L"blahblahblah"));
57
58
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"rgb(0, 0, 0)");
59
ASSERT_TRUE(maybe_color.has_value());
60
EXPECT_EQ(0,
FXARGB_R
(maybe_color.value()));
61
EXPECT_EQ(0,
FXARGB_G
(maybe_color.value()));
62
EXPECT_EQ(0,
FXARGB_B
(maybe_color.value()));
63
64
maybe_color =
CFX_CSSDeclaration
::
ParseCSSColor
(L"rgb(128,255,48)");
65
ASSERT_TRUE(maybe_color.has_value());
66
EXPECT_EQ(128,
FXARGB_R
(maybe_color.value()));
67
EXPECT_EQ(255,
FXARGB_G
(maybe_color.value()));
68
EXPECT_EQ(48,
FXARGB_B
(maybe_color.value()));
69
}
CFX_CSSDeclaration
Definition
cfx_cssdeclaration.h:21
CFX_CSSDeclaration::ParseCSSColor
static std::optional< FX_ARGB > ParseCSSColor(WideStringView value)
Definition
cfx_cssdeclaration.cpp:76
TEST
TEST(FXCRYPT, MD5GenerateEmtpyData)
Definition
fx_crypt_unittest.cpp:50
FX_ARGB
uint32_t FX_ARGB
Definition
fx_dib.h:36
FXARGB_B
#define FXARGB_B(argb)
Definition
fx_dib.h:199
FXARGB_G
#define FXARGB_G(argb)
Definition
fx_dib.h:198
FXARGB_R
#define FXARGB_R(argb)
Definition
fx_dib.h:197
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcrt
css
cfx_cssdeclaration_unittest.cpp
Generated on
for Qt by
1.18.0