MCPcopy Create free account
hub / github.com/InoriRus/Kyty / test_U

Function test_U

source/unit_test/src/core/UnitTestCoreString.cpp:352–448  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

350}
351
352void test_U()
353{
354 String e;
355 String s = U"abcdABCDАБВГДабвгд";
356
357 EXPECT_EQ(s.Size(), 18U);
358 EXPECT_TRUE(!s.IsEmpty());
359 EXPECT_EQ(e.Size(), 0U);
360 EXPECT_TRUE(e.IsEmpty());
361
362 e = s;
363 s.Clear();
364
365 EXPECT_EQ(s.Size(), 0U);
366 EXPECT_TRUE(s.IsEmpty());
367 EXPECT_EQ(e.Size(), 18U);
368 EXPECT_TRUE(!e.IsEmpty());
369
370 EXPECT_EQ(e[1], U'b');
371 EXPECT_EQ(e[9], U'Б');
372
373 s = U"acdABCАВГДабвгд";
374 s = U"abcdABCDАБВГДабвгд";
375
376 EXPECT_EQ(s[3], U'd');
377 EXPECT_EQ(s[11], U'Г');
378
379 s = U'0';
380
381 EXPECT_EQ(s.Size(), 1U);
382
383 String::Utf8 utf = String(U"abcdABCDАБВГДабвгд").utf8_str();
384 EXPECT_EQ(strcmp(utf.GetData(), "abcdABCDАБВГДабвгд"), 0);
385
386 EXPECT_EQ(utf.Size(), 29U);
387 EXPECT_EQ(utf.At(0), 0x61);
388 EXPECT_EQ(utf.At(4), 0x41);
389 EXPECT_EQ(utf.At(16), (char)0xD0);
390 EXPECT_EQ(utf.At(17), (char)0x94);
391
392 String::Utf8 cp866 = String(U"abcABCАБВабвЭЮЯэюя╫▓").cp866_str();
393
394 EXPECT_EQ(cp866.Size(), 21U);
395 EXPECT_EQ(cp866.At(0), 0x61);
396 EXPECT_EQ(cp866.At(3), 0x41);
397 EXPECT_EQ(cp866.At(9), (char)0xA0);
398 EXPECT_EQ(cp866.At(19), (char)0xB2);
399
400 String ss = U"abcd";
401 ss += U"efgh";
402 EXPECT_EQ(strcmp(ss.utf8_str().GetData(), "abcdefgh"), 0);
403
404 ss = "abcd";
405 ss += "efgh2";
406 EXPECT_EQ(strcmp(ss.utf8_str().GetData(), "abcdefgh2"), 0);
407
408 String sum1 = U"ab1" + String(U"cd2");
409 String sum2 = sum1 + U"cd2" + U"апр";

Callers 1

TESTFunction · 0.70

Calls 14

utf8_strMethod · 0.80
AtMethod · 0.80
cp866_strMethod · 0.80
EqualNoCaseMethod · 0.80
ToUpperMethod · 0.80
ToLowerMethod · 0.80
StringClass · 0.50
SizeMethod · 0.45
IsEmptyMethod · 0.45
ClearMethod · 0.45
GetDataMethod · 0.45
MidMethod · 0.45

Tested by

no test coverage detected