10using namespace Microsoft::VisualStudio::CppUnitTestFramework;
18 TEST_METHOD(sgml2wstr)
20 Assert::AreEqual(L
"This is a test.", stdex::sgml2wstr(
"This is a test.", (
size_t)-1).c_str());
21 Assert::AreEqual(L
"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", stdex::sgml2wstr(
"Thíš i⋅ a te&smacr;t.&unknown;😀😅", (
size_t)-1).c_str());
22 Assert::AreEqual(L
"This", stdex::sgml2wstr(
"This is a test.", 4).c_str());
23 Assert::AreEqual(L
"T\u0068\u0301", stdex::sgml2wstr(
"T&hacute;is is a test.", 9).c_str());
24 Assert::AreEqual(L
"T&hac", stdex::sgml2wstr(
"T&hacute;is is a test.", 5).c_str());
25 Assert::AreEqual(L
"The "quoted" & text.", stdex::sgml2wstr(
"The "quoted" & text.", (
size_t)-1, stdex::sgml_c).c_str());
27 stdex::mapping_vector<size_t> map;
28 constexpr size_t i = 0;
29 constexpr size_t j = 0;
30 stdex::sgml2wstr(
"Thíš i⋅ a te&smacr;t.&unknown;😀😅", (
size_t)-1, 0,
stdex::mapping<size_t>(i, j), &map);
31 Assert::IsTrue(stdex::mapping_vector<size_t>{
55 TEST_METHOD(wstr2sgml)
57 Assert::AreEqual(
"This is a test.", stdex::wstr2sgml(L
"This is a test.", (
size_t)-1).c_str());
58 Assert::AreEqual(
"Thíš i⋅ a te&smacr;t.&unknown;😀😅", stdex::wstr2sgml(L
"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", (
size_t)-1).c_str());
59 Assert::AreEqual(
"This", stdex::wstr2sgml(L
"This is a test.", 4).c_str());
60 Assert::AreEqual(
"te&smacr;", stdex::wstr2sgml(L
"te\u0073\u0304t", 4).c_str());
61 Assert::AreEqual(
"tes", stdex::wstr2sgml(L
"te\u0073\u0304t", 3).c_str());
62 Assert::AreEqual(
"⌘‰͢", stdex::wstr2sgml(L
"⌘‰͢", (
size_t)-1).c_str());
63 Assert::AreEqual(
"$\"<>&", stdex::wstr2sgml(L
"$\"<>&", (
size_t)-1).c_str());
64 Assert::AreEqual(
"$"<>&", stdex::wstr2sgml(L
"$\"<>&", (
size_t)-1, stdex::sgml_c).c_str());
Maps index in source string to index in destination string.
Definition mapping.hpp:17