diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-12-02 17:55:35 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-12-02 17:55:35 +0000 |
commit | 25f34eebb0f3eb31e327f1a64d18db2817c6d694 (patch) | |
tree | 3717703d31af200669c60510dd5a0612279c3bb4 /juniper/src/test/auxTest.cpp | |
parent | 4a7fe355da8efddec055943d7770619efe80cb03 (diff) |
c++17 and c++2a need different handling.
Diffstat (limited to 'juniper/src/test/auxTest.cpp')
-rw-r--r-- | juniper/src/test/auxTest.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/juniper/src/test/auxTest.cpp b/juniper/src/test/auxTest.cpp index 02697fd96ba..62bed396d44 100644 --- a/juniper/src/test/auxTest.cpp +++ b/juniper/src/test/auxTest.cpp @@ -320,16 +320,23 @@ void test_dump(const char* s, unsigned int len) namespace { +#if __cplusplus > 201703L const char * -bad_cast_from_u8(const char8_t * p) { +char_from_u8(const char8_t * p) { return reinterpret_cast<const char *>(p); } +#else +const char * +char_from_u8(const char * p) { + return p; +} +#endif } void AuxTest::TestUTF8(unsigned int size) { - const char* s = bad_cast_from_u8(u8"\u00e5pent s\u00f8k\u00e6\u00f8\u00e5\u00e6\u00f8\u00e5\u00e6\u00f8\u00e5"); + const char* s = char_from_u8(u8"\u00e5pent s\u00f8k\u00e6\u00f8\u00e5\u00e6\u00f8\u00e5\u00e6\u00f8\u00e5"); const unsigned char* p = (const unsigned char*)s; int moved = 0; @@ -386,20 +393,20 @@ void AuxTest::TestUTF8(unsigned int size) void AuxTest::TestUTF8context() { - const char* iso_cont = bad_cast_from_u8(u8"AND(m\u00b5ss,fast,s\u00f8kemotor,\u00e5relang)"); + const char* iso_cont = char_from_u8(u8"AND(m\u00b5ss,fast,s\u00f8kemotor,\u00e5relang)"); juniper::QueryParser q(iso_cont); juniper::QueryHandle qh(q, NULL, juniper::_Juniper->getModifier()); // some content - std::string s(bad_cast_from_u8(u8"Fast leverer s\u00d8kemotorer og andre nyttige ting for \u00e5 finne frem p\u00e5 ")); - s.append(bad_cast_from_u8(u8"internett. Teknologien er basert p\u00e5 \u00c5relang")); + std::string s(char_from_u8(u8"Fast leverer s\u00d8kemotorer og andre nyttige ting for \u00e5 finne frem p\u00e5 ")); + s.append(char_from_u8(u8"internett. Teknologien er basert p\u00e5 \u00c5relang")); s += UNIT_SEPARATOR; - s.append(bad_cast_from_u8(u8"norsk innsats og forskning i")); + s.append(char_from_u8(u8"norsk innsats og forskning i")); s += GROUP_SEPARATOR; - s.append(bad_cast_from_u8(u8"trondheimsmilj\u00f8et. M\u00b5ss med denne nye funksjonaliteten for \u00e5 vise frem")); + s.append(char_from_u8(u8"trondheimsmilj\u00f8et. M\u00b5ss med denne nye funksjonaliteten for \u00e5 vise frem")); s += UNIT_SEPARATOR; - s.append(bad_cast_from_u8(u8" beste forekomst av s\u00f8ket med s\u00f8kemotor til brukeren blir det enda bedre. ")); - s.append(bad_cast_from_u8(u8"Hvis bare UTF8-kodingen virker som den skal for tegn som tar mer enn \u00e9n byte.")); + s.append(char_from_u8(u8" beste forekomst av s\u00f8ket med s\u00f8kemotor til brukeren blir det enda bedre. ")); + s.append(char_from_u8(u8"Hvis bare UTF8-kodingen virker som den skal for tegn som tar mer enn \u00e9n byte.")); juniper::Result* res = juniper::Analyse(juniper::TestConfig, &qh, s.c_str(), s.size(), 0, 0, 0); _test(res != NULL); |