730 bool isSuccess =
false;
732 std::string originalUTF8 = (
const char*)
__utf8Code;
737 isSuccess = StringUtils::UTF16ToUTF8(originalUTF16, utf8Str);
741 isSuccess = memcmp(utf8Str.data(), originalUTF8.data(), originalUTF8.length()+1)==0;
744 CCASSERT(isSuccess,
"StringUtils::UTF16ToUTF8 failed");
747 std::u16string utf16Str;
748 isSuccess = StringUtils::UTF8ToUTF16(originalUTF8, utf16Str);
752 isSuccess = memcmp(utf16Str.data(), originalUTF16.data(), originalUTF16.length()+1)==0;
755 CCASSERT(isSuccess && (utf16Str.length() ==
TEST_CODE_NUM),
"StringUtils::UTF8ToUTF16 failed");
758 auto vec1 = StringUtils::getChar16VectorFromUTF16String(originalUTF16);
760 CCASSERT(vec1.size() == originalUTF16.length(),
"StringUtils::getChar16VectorFromUTF16String failed");
763 std::vector<char16_t> vec2( vec1 );
764 vec2.push_back(0x2009);
765 vec2.push_back(0x2009);
766 vec2.push_back(0x2009);
767 vec2.push_back(0x2009);
769 std::vector<char16_t> vec3( vec2 );
770 StringUtils::trimUTF16Vector(vec2);
772 CCASSERT(vec1.size() == vec2.size(),
"StringUtils::trimUTF16Vector failed");
774 for (
size_t i = 0; i < vec2.size(); i++ )
776 CCASSERT(vec1.at(i) == vec2.at(i),
"StringUtils::trimUTF16Vector failed");
780 CCASSERT(StringUtils::getCharacterCountInUTF8String(originalUTF8) ==
TEST_CODE_NUM,
"StringUtils::getCharacterCountInUTF8String failed");
783 CCASSERT(StringUtils::getIndexOfLastNotChar16(vec3, 0x2009) == (vec1.size()-1),
"StringUtils::getIndexOfLastNotChar16 failed");
786 CCASSERT(originalUTF16.length() ==
TEST_CODE_NUM,
"The length of the original utf16 string isn't equal to TEST_CODE_NUM");
790 for(
size_t i = 0; i < whiteCodeNum; i++ )
792 CCASSERT(StringUtils::isUnicodeSpace(
WHITE_SPACE_CODE[i]),
"StringUtils::isUnicodeSpace failed");
795 CCASSERT(!StringUtils::isUnicodeSpace(0xFFFF),
"StringUtils::isUnicodeSpace failed");
797 CCASSERT(!StringUtils::isCJKUnicode(0xFFFF) && StringUtils::isCJKUnicode(0x3100),
"StringUtils::isCJKUnicode failed");
static const unsigned char __utf8Code[]
static const char16_t WHITE_SPACE_CODE[]
static const char16_t __utf16Code[]