| 7 | using Core::StringList8; |
| 8 | |
| 9 | void test() |
| 10 | { |
| 11 | String8 e; |
| 12 | String8 s = String8("abcdABCDАБВГДабвгд"); |
| 13 | |
| 14 | EXPECT_EQ(s.Size(), 28U); |
| 15 | EXPECT_TRUE(!s.IsEmpty()); |
| 16 | EXPECT_EQ(e.Size(), 0U); |
| 17 | EXPECT_TRUE(e.IsEmpty()); |
| 18 | |
| 19 | e = s; |
| 20 | s.Clear(); |
| 21 | |
| 22 | EXPECT_EQ(s.Size(), 0U); |
| 23 | EXPECT_TRUE(s.IsEmpty()); |
| 24 | EXPECT_EQ(e.Size(), 28U); |
| 25 | EXPECT_TRUE(!e.IsEmpty()); |
| 26 | |
| 27 | EXPECT_EQ(e[1], 'b'); |
| 28 | EXPECT_EQ(e[9], '\x90'); |
| 29 | |
| 30 | s = String8("acdABCАВГДабвгд"); |
| 31 | s = String8("abcdABCDАБВГДабвгд"); |
| 32 | |
| 33 | EXPECT_EQ(s[3], 'd'); |
| 34 | EXPECT_EQ(s[11], '\x91'); |
| 35 | |
| 36 | s = '0'; |
| 37 | |
| 38 | EXPECT_EQ(s.Size(), 1U); |
| 39 | |
| 40 | String8 ss = String8("abcd"); |
| 41 | ss += String8("efgh"); |
| 42 | EXPECT_EQ(strcmp(ss.c_str(), "abcdefgh"), 0); |
| 43 | |
| 44 | String8 sum1 = String8("ab1") + String8("cd2"); |
| 45 | String8 sum2 = sum1 + "cd2" + "апр"; |
| 46 | |
| 47 | EXPECT_TRUE(sum2 == "ab1cd2cd2апр"); |
| 48 | EXPECT_TRUE(sum2 != "ab1cd2cd2апР"); |
| 49 | |
| 50 | String8 mt = String8("0123456789"); |
| 51 | |
| 52 | EXPECT_TRUE(String8("").IsEmpty()); |
| 53 | |
| 54 | EXPECT_EQ(mt.Mid(0, 4), "0123"); |
| 55 | EXPECT_EQ(mt.Mid(6, 4), "6789"); |
| 56 | EXPECT_EQ(mt.Mid(6, 5), "6789"); |
| 57 | EXPECT_EQ(mt.Mid(10, 1), ""); |
| 58 | EXPECT_EQ(mt.Mid(0, 0), ""); |
| 59 | |
| 60 | EXPECT_EQ(mt.Left(2), "01"); |
| 61 | EXPECT_EQ(mt.Left(0), ""); |
| 62 | EXPECT_EQ(mt.Left(12), "0123456789"); |
| 63 | |
| 64 | EXPECT_EQ(mt.Right(2), "89"); |
| 65 | EXPECT_EQ(mt.Right(0), ""); |
| 66 | EXPECT_EQ(mt.Right(12), "0123456789"); |