56 EXPECT_FLOAT_EQ(0.0f, StringToFloat(
""));
57 EXPECT_FLOAT_EQ(0.0f, StringToFloat(
"0"));
58 EXPECT_FLOAT_EQ(0.0f, StringToFloat(
"0.0"));
59 EXPECT_FLOAT_EQ(0.0f, StringToFloat(
"-0.0"));
61 EXPECT_FLOAT_EQ(0.25f, StringToFloat(
"0.25"));
62 EXPECT_FLOAT_EQ(-0.25f, StringToFloat(
"-0.25"));
64 EXPECT_FLOAT_EQ(100.0f, StringToFloat(
"100"));
65 EXPECT_FLOAT_EQ(100.0f, StringToFloat(
"100.0"));
66 EXPECT_FLOAT_EQ(100.0f, StringToFloat(
" 100.0"));
67 EXPECT_FLOAT_EQ(-100.0f, StringToFloat(
"-100.0000"));
69 EXPECT_FLOAT_EQ(3.402823e+38f,
70 StringToFloat(
"340282300000000000000000000000000000000"));
71 EXPECT_FLOAT_EQ(-3.402823e+38f,
72 StringToFloat(
"-340282300000000000000000000000000000000"));
74 EXPECT_FLOAT_EQ(1.000000119f, StringToFloat(
"1.000000119"));
75 EXPECT_FLOAT_EQ(1.999999881f, StringToFloat(
"1.999999881"));
79 EXPECT_FLOAT_EQ(0.0f, StringToFloat(L""));
80 EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"0"));
81 EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"0.0"));
82 EXPECT_FLOAT_EQ(0.0f, StringToFloat(L"-0.0"));
84 EXPECT_FLOAT_EQ(0.25f, StringToFloat(L"0.25"));
85 EXPECT_FLOAT_EQ(-0.25f, StringToFloat(L"-0.25"));
87 EXPECT_FLOAT_EQ(100.0f, StringToFloat(L"100"));
88 EXPECT_FLOAT_EQ(100.0f, StringToFloat(L"100.0"));
89 EXPECT_FLOAT_EQ(100.0f, StringToFloat(L" 100.0"));
90 EXPECT_FLOAT_EQ(-100.0f, StringToFloat(L"-100.0000"));
92 EXPECT_FLOAT_EQ(3.402823e+38f,
93 StringToFloat(L"340282300000000000000000000000000000000"));
94 EXPECT_FLOAT_EQ(-3.402823e+38f,
95 StringToFloat(L"-340282300000000000000000000000000000000"));
97 EXPECT_FLOAT_EQ(1.000000119f, StringToFloat(L"1.000000119"));
98 EXPECT_FLOAT_EQ(1.999999881f, StringToFloat(L"1.999999881"));
102 EXPECT_FLOAT_EQ(0.0, StringToDouble(
""));
103 EXPECT_FLOAT_EQ(0.0, StringToDouble(
"0"));
104 EXPECT_FLOAT_EQ(0.0, StringToDouble(
"0.0"));
105 EXPECT_FLOAT_EQ(0.0, StringToDouble(
"-0.0"));
107 EXPECT_FLOAT_EQ(0.25, StringToDouble(
"0.25"));
108 EXPECT_FLOAT_EQ(-0.25, StringToDouble(
"-0.25"));
110 EXPECT_FLOAT_EQ(100.0, StringToDouble(
"100"));
111 EXPECT_FLOAT_EQ(100.0, StringToDouble(
"100.0"));
112 EXPECT_FLOAT_EQ(100.0, StringToDouble(
" 100.0"));
113 EXPECT_FLOAT_EQ(-100.0, StringToDouble(
"-100.0000"));
115 EXPECT_FLOAT_EQ(3.402823e+38,
116 StringToDouble(
"340282300000000000000000000000000000000"));
117 EXPECT_FLOAT_EQ(-3.402823e+38,
118 StringToDouble(
"-340282300000000000000000000000000000000"));
120 EXPECT_FLOAT_EQ(1.000000119, StringToDouble(
"1.000000119"));
121 EXPECT_FLOAT_EQ(1.999999881, StringToDouble(
"1.999999881"));
125 EXPECT_FLOAT_EQ(0.0, StringToDouble(L""));
126 EXPECT_FLOAT_EQ(0.0, StringToDouble(L"0"));
127 EXPECT_FLOAT_EQ(0.0, StringToDouble(L"0.0"));
128 EXPECT_FLOAT_EQ(0.0, StringToDouble(L"-0.0"));
130 EXPECT_FLOAT_EQ(0.25, StringToDouble(L"0.25"));
131 EXPECT_FLOAT_EQ(-0.25, StringToDouble(L"-0.25"));
133 EXPECT_FLOAT_EQ(100.0, StringToDouble(L"100"));
134 EXPECT_FLOAT_EQ(100.0, StringToDouble(L"100.0"));
135 EXPECT_FLOAT_EQ(100.0, StringToDouble(L" 100.0"));
136 EXPECT_FLOAT_EQ(-100.0, StringToDouble(L"-100.0000"));
138 EXPECT_FLOAT_EQ(3.402823e+38,
139 StringToDouble(L"340282300000000000000000000000000000000"));
140 EXPECT_FLOAT_EQ(-3.402823e+38,
141 StringToDouble(L"-340282300000000000000000000000000000000"));
143 EXPECT_FLOAT_EQ(1.000000119, StringToDouble(L"1.000000119"));
144 EXPECT_FLOAT_EQ(1.999999881, StringToDouble(L"1.999999881"));
148 std::vector<ByteString> result;
150 ASSERT_EQ(1u, result.size());
151 EXPECT_EQ(
"", result[0]);
154 ASSERT_EQ(1u, result.size());
155 EXPECT_EQ(
"a", result[0]);
158 ASSERT_EQ(2u, result.size());
159 EXPECT_EQ(
"", result[0]);
160 EXPECT_EQ(
"", result[1]);
163 ASSERT_EQ(2u, result.size());
164 EXPECT_EQ(
"a", result[0]);
165 EXPECT_EQ(
"", result[1]);
168 ASSERT_EQ(2u, result.size());
169 EXPECT_EQ(
"", result[0]);
170 EXPECT_EQ(
"b", result[1]);
173 ASSERT_EQ(2u, result.size());
174 EXPECT_EQ(
"a", result[0]);
175 EXPECT_EQ(
"b", result[1]);
178 ASSERT_EQ(3u, result.size());
179 EXPECT_EQ(
"a", result[0]);
180 EXPECT_EQ(
"b", result[1]);
181 EXPECT_EQ(
"", result[2]);
184 ASSERT_EQ(3u, result.size());
185 EXPECT_EQ(
"a", result[0]);
186 EXPECT_EQ(
"", result[1]);
187 EXPECT_EQ(
"", result[2]);
190 ASSERT_EQ(3u, result.size());
191 EXPECT_EQ(
"", result[0]);
192 EXPECT_EQ(
"", result[1]);
193 EXPECT_EQ(
"a", result[2]);
197 std::vector<ByteStringView> result;
198 result =
fxcrt::Split(ByteStringView(
""),
',');
199 ASSERT_EQ(1u, result.size());
200 EXPECT_EQ(
"", result[0]);
202 result =
fxcrt::Split(ByteStringView(
"a"),
',');
203 ASSERT_EQ(1u, result.size());
204 EXPECT_EQ(
"a", result[0]);
206 result =
fxcrt::Split(ByteStringView(
","),
',');
207 ASSERT_EQ(2u, result.size());
208 EXPECT_EQ(
"", result[0]);
209 EXPECT_EQ(
"", result[1]);
211 result =
fxcrt::Split(ByteStringView(
"a,"),
',');
212 ASSERT_EQ(2u, result.size());
213 EXPECT_EQ(
"a", result[0]);
214 EXPECT_EQ(
"", result[1]);
216 result =
fxcrt::Split(ByteStringView(
",b"),
',');
217 ASSERT_EQ(2u, result.size());
218 EXPECT_EQ(
"", result[0]);
219 EXPECT_EQ(
"b", result[1]);
221 result =
fxcrt::Split(ByteStringView(
"a,b"),
',');
222 ASSERT_EQ(2u, result.size());
223 EXPECT_EQ(
"a", result[0]);
224 EXPECT_EQ(
"b", result[1]);
226 result =
fxcrt::Split(ByteStringView(
"a,b,"),
',');
227 ASSERT_EQ(3u, result.size());
228 EXPECT_EQ(
"a", result[0]);
229 EXPECT_EQ(
"b", result[1]);
230 EXPECT_EQ(
"", result[2]);
232 result =
fxcrt::Split(ByteStringView(
"a,,"),
',');
233 ASSERT_EQ(3u, result.size());
234 EXPECT_EQ(
"a", result[0]);
235 EXPECT_EQ(
"", result[1]);
236 EXPECT_EQ(
"", result[2]);
238 result =
fxcrt::Split(ByteStringView(
",,a"),
',');
239 ASSERT_EQ(3u, result.size());
240 EXPECT_EQ(
"", result[0]);
241 EXPECT_EQ(
"", result[1]);
242 EXPECT_EQ(
"a", result[2]);
246 std::vector<WideString> result;
248 ASSERT_EQ(1u, result.size());
249 EXPECT_EQ(L"", result[0]);
252 ASSERT_EQ(1u, result.size());
253 EXPECT_EQ(L"a", result[0]);
256 ASSERT_EQ(2u, result.size());
257 EXPECT_EQ(L"", result[0]);
258 EXPECT_EQ(L"", result[1]);
261 ASSERT_EQ(2u, result.size());
262 EXPECT_EQ(L"a", result[0]);
263 EXPECT_EQ(L"", result[1]);
266 ASSERT_EQ(2u, result.size());
267 EXPECT_EQ(L"", result[0]);
268 EXPECT_EQ(L"b", result[1]);
271 ASSERT_EQ(2u, result.size());
272 EXPECT_EQ(L"a", result[0]);
273 EXPECT_EQ(L"b", result[1]);
276 ASSERT_EQ(3u, result.size());
277 EXPECT_EQ(L"a", result[0]);
278 EXPECT_EQ(L"b", result[1]);
279 EXPECT_EQ(L"", result[2]);
282 ASSERT_EQ(3u, result.size());
283 EXPECT_EQ(L"a", result[0]);
284 EXPECT_EQ(L"", result[1]);
285 EXPECT_EQ(L"", result[2]);
288 ASSERT_EQ(3u, result.size());
289 EXPECT_EQ(L"", result[0]);
290 EXPECT_EQ(L"", result[1]);
291 EXPECT_EQ(L"a", result[2]);
295 std::vector<WideStringView> result;
296 result =
fxcrt::Split(WideStringView(L""), L',');
297 ASSERT_EQ(1u, result.size());
298 EXPECT_EQ(L"", result[0]);
300 result =
fxcrt::Split(WideStringView(L"a"), L',');
301 ASSERT_EQ(1u, result.size());
302 EXPECT_EQ(L"a", result[0]);
304 result =
fxcrt::Split(WideStringView(L","), L',');
305 ASSERT_EQ(2u, result.size());
306 EXPECT_EQ(L"", result[0]);
307 EXPECT_EQ(L"", result[1]);
309 result =
fxcrt::Split(WideStringView(L"a,"), L',');
310 ASSERT_EQ(2u, result.size());
311 EXPECT_EQ(L"a", result[0]);
312 EXPECT_EQ(L"", result[1]);
314 result =
fxcrt::Split(WideStringView(L",b"), L',');
315 ASSERT_EQ(2u, result.size());
316 EXPECT_EQ(L"", result[0]);
317 EXPECT_EQ(L"b", result[1]);
319 result =
fxcrt::Split(WideStringView(L"a,b"), L',');
320 ASSERT_EQ(2u, result.size());
321 EXPECT_EQ(L"a", result[0]);
322 EXPECT_EQ(L"b", result[1]);
324 result =
fxcrt::Split(WideStringView(L"a,b,"), L',');
325 ASSERT_EQ(3u, result.size());
326 EXPECT_EQ(L"a", result[0]);
327 EXPECT_EQ(L"b", result[1]);
328 EXPECT_EQ(L"", result[2]);
330 result =
fxcrt::Split(WideStringView(L"a,,"), L',');
331 ASSERT_EQ(3u, result.size());
332 EXPECT_EQ(L"a", result[0]);
333 EXPECT_EQ(L"", result[1]);
334 EXPECT_EQ(L"", result[2]);
336 result =
fxcrt::Split(WideStringView(L",,a"), L',');
337 ASSERT_EQ(3u, result.size());
338 EXPECT_EQ(L"", result[0]);
339 EXPECT_EQ(L"", result[1]);
340 EXPECT_EQ(L"a", result[2]);