MCPcopy Create free account
hub / github.com/catboost/catboost / TestDecodingMethods

Method TestDecodingMethods

util/generic/string_ut.cpp:792–857  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

790
791private:
792 void TestDecodingMethods() {
793 UNIT_ASSERT(TUtf16String::FromAscii("").empty());
794 UNIT_ASSERT(TUtf16String::FromAscii("abc") == ASCIIToWide("abc"));
795
796 const char* text = "123kx83abcd ej)#$%ddja&%J&";
797 TUtf16String wtext = ASCIIToWide(text);
798
799 UNIT_ASSERT(wtext == TUtf16String::FromAscii(text));
800
801 TString strtext(text);
802 UNIT_ASSERT(wtext == TUtf16String::FromAscii(strtext));
803
804 TStringBuf strbuftext(text);
805 UNIT_ASSERT(wtext == TUtf16String::FromAscii(strbuftext));
806
807 UNIT_ASSERT(wtext.substr(5) == TUtf16String::FromAscii(text + 5));
808
809 const wchar16 wideCyrillicAlphabet[] = {
810 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
811 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
812 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
813 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
814 0x00};
815
816 TUtf16String strWide(wideCyrillicAlphabet);
817 TString strUtf8 = WideToUTF8(strWide);
818
819 UNIT_ASSERT(strWide == TUtf16String::FromUtf8(strUtf8.c_str()));
820 UNIT_ASSERT(strWide == TUtf16String::FromUtf8(strUtf8));
821 UNIT_ASSERT(strWide == TUtf16String::FromUtf8(TStringBuf(strUtf8)));
822
823 // assign
824
825 TUtf16String s1;
826 s1.AssignAscii("1234");
827 UNIT_ASSERT(s1 == ASCIIToWide("1234"));
828
829 s1.AssignUtf8(strUtf8);
830 UNIT_ASSERT(s1 == strWide);
831
832 s1.AssignAscii(text);
833 UNIT_ASSERT(s1 == wtext);
834
835 // append
836
837 TUtf16String s2;
838 TUtf16String testAppend = strWide;
839 s2.AppendUtf8(strUtf8);
840 UNIT_ASSERT(testAppend == s2);
841
842 testAppend += ' ';
843 s2.AppendAscii(" ");
844 UNIT_ASSERT(testAppend == s2);
845
846 testAppend += '_';
847 s2.AppendUtf8("_");
848 UNIT_ASSERT(testAppend == s2);
849

Callers

nothing calls this directly

Calls 7

ASCIIToWideFunction · 0.85
WideToUTF8Function · 0.85
FromAsciiFunction · 0.70
FromUtf8Function · 0.70
emptyMethod · 0.45
substrMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected