Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cfxjse_formcalc_context_unittest.cpp
Go to the documentation of this file.
1// Copyright 2022 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 "fxjs/xfa/cfxjse_formcalc_context.h"
6
7#include "core/fxcrt/bytestring.h"
8#include "testing/gtest/include/gtest/gtest.h"
9
11 ByteString result =
12 CFXJSE_FormCalcContext::GenerateSomExpression("", 0, 0, /*bIsStar=*/true);
13 EXPECT_EQ(result, "[*]");
14
15 result = CFXJSE_FormCalcContext::GenerateSomExpression("foo", 0, 0,
16 /*bIsStar=*/true);
17 EXPECT_EQ(result, "foo[*]");
18
19 result = CFXJSE_FormCalcContext::GenerateSomExpression("foo", 0, 0,
20 /*bIsStar=*/false);
21 EXPECT_EQ(result, "foo");
22
23 result = CFXJSE_FormCalcContext::GenerateSomExpression("fu", 1, 0,
24 /*bIsStar=*/false);
25 EXPECT_EQ(result, "fu[0]");
26
27 result = CFXJSE_FormCalcContext::GenerateSomExpression("food", 1, 99,
28 /*bIsStar=*/false);
29 EXPECT_EQ(result, "food[99]");
30
31 result = CFXJSE_FormCalcContext::GenerateSomExpression("foot", 1, -65,
32 /*bIsStar=*/false);
33 EXPECT_EQ(result, "foot[-65]");
34
35 result = CFXJSE_FormCalcContext::GenerateSomExpression("football", 2, 0,
36 /*bIsStar=*/false);
37 EXPECT_EQ(result, "football[0]");
38
39 result = CFXJSE_FormCalcContext::GenerateSomExpression("foosball", 2, 123,
40 /*bIsStar=*/false);
41 EXPECT_EQ(result, "foosball[+123]");
42
43 result = CFXJSE_FormCalcContext::GenerateSomExpression("bar", 2, -654,
44 /*bIsStar=*/false);
45 EXPECT_EQ(result, "bar[-654]");
46
47 result = CFXJSE_FormCalcContext::GenerateSomExpression("barb", 2, 2147483647,
48 /*bIsStar=*/false);
49 EXPECT_EQ(result, "barb[+2147483647]");
50
51 result = CFXJSE_FormCalcContext::GenerateSomExpression(
52 "bart", 2, -2147483648, /*bIsStar=*/false);
53 EXPECT_EQ(result, "bart[-0]");
54
55 result = CFXJSE_FormCalcContext::GenerateSomExpression("bark", 3, 0,
56 /*bIsStar=*/false);
57 EXPECT_EQ(result, "bark[0]");
58
59 result = CFXJSE_FormCalcContext::GenerateSomExpression("bard", 3, 357,
60 /*bIsStar=*/false);
61 EXPECT_EQ(result, "bard[-357]");
62
63 result = CFXJSE_FormCalcContext::GenerateSomExpression("bars", 3, -9876,
64 /*bIsStar=*/false);
65 EXPECT_EQ(result, "bars[9876]");
66
67 result = CFXJSE_FormCalcContext::GenerateSomExpression("cars", 3, 2147483647,
68 /*bIsStar=*/false);
69 EXPECT_EQ(result, "cars[-2147483647]");
70
71 result = CFXJSE_FormCalcContext::GenerateSomExpression(
72 "mars", 3, -2147483648, /*bIsStar=*/false);
73 EXPECT_EQ(result, "mars[0]");
74}
75
77 int32_t year = 0;
78 int32_t month = 0;
79 int32_t day = 0;
80
81 EXPECT_FALSE(
82 CFXJSE_FormCalcContext::IsIsoDateFormat("", &year, &month, &day));
83 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoDateFormat("2023-06-24", &year,
84 &month, &day));
85 EXPECT_EQ(2023, year);
86 EXPECT_EQ(6, month);
87 EXPECT_EQ(24, day);
88}
89
91 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat(""));
92 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat(":"));
93 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("::"));
94 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat(":::"));
95
96 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("2"));
97 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("2:"));
98
99 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203"));
100 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:3"));
101
102 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20304"));
103 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:4"));
104
105 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("2030405"));
106 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40:5"));
107
108 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20"));
109
110 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("2030"));
111 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30"));
112
113 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040"));
114 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40"));
115
116 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040.001"));
117 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40.001"));
118
119 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040z"));
120 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40z"));
121
122 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040+07:30"));
123 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40+07:30"));
124
125 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040-07:30"));
126 EXPECT_TRUE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40-07:30"));
127
128 // Range errors.
129 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("243040-07:30"));
130 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("24:30:40-07:30"));
131
132 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("206040-07:30"));
133 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:60:40-07:30"));
134
135 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203061-07:30"));
136 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:61-07:30"));
137
138 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040-24:30"));
139 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40-24:30"));
140
141 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("203040-07:60"));
142 EXPECT_FALSE(CFXJSE_FormCalcContext::IsIsoTimeFormat("20:30:40-07:60"));
143}
TEST(FXCRYPT, MD5GenerateEmtpyData)