diff options
author | Arsentiy Milchakov <a.milchakov@corp.mail.ru> | 2016-07-20 22:51:27 +0300 |
---|---|---|
committer | Arsentiy Milchakov <a.milchakov@corp.mail.ru> | 2016-07-20 22:51:27 +0300 |
commit | 99f189642f6c5ae0139cc36ba5ba5106680d9de5 (patch) | |
tree | 6fa3ee843f0d2d3646d0acb619fc9bc788f03f89 /coding | |
parent | ae5272bc4708f55a946163a4228ad38138af82d0 (diff) |
review fixes
Diffstat (limited to 'coding')
-rw-r--r-- | coding/coding_tests/multilang_utf8_string_test.cpp | 15 | ||||
-rw-r--r-- | coding/multilang_utf8_string.cpp | 11 | ||||
-rw-r--r-- | coding/multilang_utf8_string.hpp | 2 |
3 files changed, 28 insertions, 0 deletions
diff --git a/coding/coding_tests/multilang_utf8_string_test.cpp b/coding/coding_tests/multilang_utf8_string_test.cpp index 565a2f4674..458d8f0340 100644 --- a/coding/coding_tests/multilang_utf8_string_test.cpp +++ b/coding/coding_tests/multilang_utf8_string_test.cpp @@ -114,3 +114,18 @@ UNIT_TEST(MultilangString_LangNames) auto const international = StringUtf8Multilang::GetLangIndex("int_name"); TEST_EQUAL(langs[international].m_code, "int_name", ()); } + +UNIT_TEST(MultilangString_HasString) +{ + StringUtf8Multilang s; + s.AddString(0, "xxx"); + s.AddString(18, "yyy"); + s.AddString(63, "zzz"); + + TEST(s.HasString(0), ()); + TEST(s.HasString(18), ()); + TEST(s.HasString(63), ()); + + TEST(!s.HasString(1), ()); + TEST(!s.HasString(32), ()); +} diff --git a/coding/multilang_utf8_string.cpp b/coding/multilang_utf8_string.cpp index 1f447eb482..3db26870f6 100644 --- a/coding/multilang_utf8_string.cpp +++ b/coding/multilang_utf8_string.cpp @@ -139,6 +139,17 @@ bool StringUtf8Multilang::GetString(int8_t lang, string & utf8s) const return false; } +bool StringUtf8Multilang::HasString(int8_t lang) const +{ + for(size_t i = 0; i < m_s.size(); i = GetNextIndex(i)) + { + if ((m_s[i] & 0x3F) == lang) + return true; + } + + return false; +} + namespace { diff --git a/coding/multilang_utf8_string.hpp b/coding/multilang_utf8_string.hpp index 1a522cc238..67323ca3ca 100644 --- a/coding/multilang_utf8_string.hpp +++ b/coding/multilang_utf8_string.hpp @@ -105,6 +105,8 @@ public: else return false; } + + bool HasString(int8_t lang) const; int8_t FindString(string const & utf8s) const; |