| 28 | {"be", "\xE2\x82\xAC\xF0\xA4\xAD\xA2"}}; |
| 29 | |
| 30 | void TestMultilangString(lang_string const * arr, size_t count) |
| 31 | { |
| 32 | StringUtf8Multilang s; |
| 33 | |
| 34 | for (size_t i = 0; i < count; ++i) |
| 35 | { |
| 36 | string src(arr[i].m_str); |
| 37 | TEST(utf8::is_valid(src.begin(), src.end()), ()); |
| 38 | |
| 39 | s.AddString(arr[i].m_lang, src); |
| 40 | |
| 41 | string_view comp; |
| 42 | TEST(s.GetString(arr[i].m_lang, comp), ()); |
| 43 | TEST_EQUAL(src, comp, ()); |
| 44 | } |
| 45 | |
| 46 | for (size_t i = 0; i < count; ++i) |
| 47 | { |
| 48 | string_view comp; |
| 49 | TEST(s.GetString(arr[i].m_lang, comp), ()); |
| 50 | TEST_EQUAL(arr[i].m_str, comp, ()); |
| 51 | } |
| 52 | |
| 53 | string_view test; |
| 54 | TEST(!s.GetString("xxx", test), ()); |
| 55 | } |
| 56 | |
| 57 | UNIT_TEST(MultilangString_Smoke) |
| 58 | { |