14 #define EXPECT_CASEMAPPING_CODEPOINT_NUL_EQ(_codepoint, _name, _locale) { \ 15 ::helpers::CaseMappingEntry e; \ 16 e.codepoint = _codepoint; \ 17 e.lowercase = std::string(1, '\0'); \ 18 e.uppercase = std::string(1, '\0'); \ 19 e.titlecase = std::string(1, '\0'); \ 21 ::helpers::CaseMappingEntry a; \ 22 std::string text = ::helpers::utf8(_codepoint); \ 23 a.lowercase = ::helpers::lowercase(text, (_locale)); \ 24 a.uppercase = ::helpers::uppercase(text, (_locale)); \ 25 a.titlecase = ::helpers::titlecase(text, (_locale)); \ 26 EXPECT_PRED_FORMAT2(::helpers::CompareCodepoint, e, a); \ 29 #define EXPECT_CASEMAPPING_CODEPOINT_EQ(_codepoint, _lowercase, _uppercase, _titlecase, _name, _locale) { \ 30 ::helpers::CaseMappingEntry e; \ 31 e.codepoint = _codepoint; \ 32 e.lowercase = _lowercase; \ 33 e.uppercase = _uppercase; \ 34 e.titlecase = _titlecase; \ 36 ::helpers::CaseMappingEntry a; \ 37 std::string text = ::helpers::utf8(_codepoint); \ 38 a.lowercase = ::helpers::lowercase(text, (_locale)); \ 39 a.uppercase = ::helpers::uppercase(text, (_locale)); \ 40 a.titlecase = ::helpers::titlecase(text, (_locale)); \ 41 EXPECT_PRED_FORMAT2(::helpers::CompareCodepoint, e, a); \ 44 #define EXPECT_CASEMAPPING_EQ(_input, _lowercase, _uppercase, _titlecase, _locale) { \ 45 ::helpers::CaseMappingEntry e; \ 46 e.lowercase = _lowercase; \ 47 e.uppercase = _uppercase; \ 48 e.titlecase = _titlecase; \ 49 ::helpers::CaseMappingEntry a; \ 51 a.lowercase = ::helpers::lowercase((_input), (_locale)); \ 52 a.uppercase = ::helpers::uppercase((_input), (_locale)); \ 53 a.titlecase = ::helpers::titlecase((_input), (_locale)); \ 54 EXPECT_PRED_FORMAT2(::helpers::CompareCaseMapping, e, a); \ 57 #if UTF8_VERSION_GUARD(1, 4, 0) 58 #define EXPECT_CASEFOLDING_EQ(_codepoint, _folded, _name, _locale) { \ 59 ::helpers::CaseFoldingEntry e; \ 60 e.codePoint = _codepoint; \ 63 ::helpers::CaseFoldingEntry a; \ 64 a.folded = ::helpers::casefold(::helpers::utf8(_codepoint), (_locale)); \ 65 EXPECT_PRED_FORMAT2(::helpers::CompareCaseFolding, e, a); \ 69 #if UTF8_VERSION_GUARD(1, 5, 0) 70 #define CM_CALL(_function, _input, _inputSize, _output, _outputSize, _locale, _errors) \ 71 _function ((_input), (_inputSize), (_output), (_outputSize), (_locale), (_errors)) 73 #define CM_CALL(_function, _input, _inputSize, _output, _outputSize, _locale, _errors) \ 74 _function ((_input), (_inputSize), (_output), (_outputSize), (_errors)) 79 std::string uppercase(
const std::string& text,
size_t locale);
81 std::string lowercase(
const std::string& text,
size_t locale);
83 std::string titlecase(
const std::string& text,
size_t locale);
85 #if UTF8_VERSION_GUARD(1, 4, 0) 86 std::string casefold(
const std::string& text,
size_t locale);
89 struct CaseMappingEntry
99 std::string lowercase;
100 std::string uppercase;
101 std::string titlecase;
104 ::testing::AssertionResult CompareCodepoint(
105 const char* expressionExpected,
const char* expressionActual,
106 const CaseMappingEntry& entryExpected,
const CaseMappingEntry& entryActual);
108 ::testing::AssertionResult CompareCaseMapping(
109 const char* expressionExpected,
const char* expressionActual,
110 const CaseMappingEntry& entryExpected,
const CaseMappingEntry& entryActual);
112 #if UTF8_VERSION_GUARD(1, 4, 0) 113 struct CaseFoldingEntry
120 ::testing::AssertionResult CompareCaseFolding(
121 const char* expressionExpected,
const char* expressionActual,
122 const CaseFoldingEntry& entryExpected,
const CaseFoldingEntry& entryActual);
Base includes for helper methods.
uint32_t unicode_t
UTF-32 encoded code point.
Definition: utf8rewind.h:698