sgml: sgml2wstr→sgml2str, wstr2sgml→str2sgml 🧨
This is analogous to string.hpp's strlen, strcpy, strcat, which use C++ polymorphism rather than function name decorations for char/wchar_t flavors. Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
@@ -26,8 +26,8 @@ int main(int argc, const char * argv[])
|
||||
UnitTests::parser::sgml_test();
|
||||
UnitTests::parser::http_test();
|
||||
UnitTests::ring::test();
|
||||
UnitTests::sgml::sgml2wstr();
|
||||
UnitTests::sgml::wstr2sgml();
|
||||
UnitTests::sgml::sgml2str();
|
||||
UnitTests::sgml::str2sgml();
|
||||
UnitTests::stream::async();
|
||||
UnitTests::stream::replicator();
|
||||
UnitTests::stream::open_close();
|
||||
|
@@ -15,19 +15,19 @@ namespace UnitTests
|
||||
TEST_CLASS(sgml)
|
||||
{
|
||||
public:
|
||||
TEST_METHOD(sgml2wstr)
|
||||
TEST_METHOD(sgml2str)
|
||||
{
|
||||
Assert::AreEqual(L"This is a test.", stdex::sgml2wstr("This is a test.", (size_t)-1).c_str());
|
||||
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());
|
||||
Assert::AreEqual(L"This", stdex::sgml2wstr("This is a test.", 4).c_str());
|
||||
Assert::AreEqual(L"T\u0068\u0301", stdex::sgml2wstr("T&hacute;is is a test.", 9).c_str());
|
||||
Assert::AreEqual(L"T&hac", stdex::sgml2wstr("T&hacute;is is a test.", 5).c_str());
|
||||
Assert::AreEqual(L"The "quoted" & text.", stdex::sgml2wstr("The "quoted" & text.", (size_t)-1, stdex::sgml_c).c_str());
|
||||
Assert::AreEqual(L"This is a test.", stdex::sgml2str("This is a test.", (size_t)-1).c_str());
|
||||
Assert::AreEqual(L"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", stdex::sgml2str("Thíš i⋅ a te&smacr;t.&unknown;😀😅", (size_t)-1).c_str());
|
||||
Assert::AreEqual(L"This", stdex::sgml2str("This is a test.", 4).c_str());
|
||||
Assert::AreEqual(L"T\u0068\u0301", stdex::sgml2str("T&hacute;is is a test.", 9).c_str());
|
||||
Assert::AreEqual(L"T&hac", stdex::sgml2str("T&hacute;is is a test.", 5).c_str());
|
||||
Assert::AreEqual(L"The "quoted" & text.", stdex::sgml2str("The "quoted" & text.", (size_t)-1, stdex::sgml_c).c_str());
|
||||
|
||||
stdex::mapping_vector<size_t> map;
|
||||
constexpr size_t i = 0;
|
||||
constexpr size_t j = 0;
|
||||
stdex::sgml2wstr("Thíš i⋅ a te&smacr;t.&unknown;😀😅", (size_t)-1, 0, stdex::mapping<size_t>(i, j), &map);
|
||||
stdex::sgml2str("Thíš i⋅ a te&smacr;t.&unknown;😀😅", (size_t)-1, 0, stdex::mapping<size_t>(i, j), &map);
|
||||
Assert::IsTrue(stdex::mapping_vector<size_t>{
|
||||
{ i + 2, j + 2 },
|
||||
{ i + 10, j + 3 },
|
||||
@@ -52,16 +52,16 @@ namespace UnitTests
|
||||
} == map);
|
||||
}
|
||||
|
||||
TEST_METHOD(wstr2sgml)
|
||||
TEST_METHOD(str2sgml)
|
||||
{
|
||||
Assert::AreEqual("This is a test.", stdex::wstr2sgml(L"This is a test.", (size_t)-1).c_str());
|
||||
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());
|
||||
Assert::AreEqual("This", stdex::wstr2sgml(L"This is a test.", 4).c_str());
|
||||
Assert::AreEqual("te&smacr;", stdex::wstr2sgml(L"te\u0073\u0304t", 4).c_str());
|
||||
Assert::AreEqual("tes", stdex::wstr2sgml(L"te\u0073\u0304t", 3).c_str());
|
||||
Assert::AreEqual("⌘‰͢", stdex::wstr2sgml(L"⌘‰͢", (size_t)-1).c_str());
|
||||
Assert::AreEqual("$\"<>&", stdex::wstr2sgml(L"$\"<>&", (size_t)-1).c_str());
|
||||
Assert::AreEqual("$"<>&", stdex::wstr2sgml(L"$\"<>&", (size_t)-1, stdex::sgml_c).c_str());
|
||||
Assert::AreEqual("This is a test.", stdex::str2sgml(L"This is a test.", (size_t)-1).c_str());
|
||||
Assert::AreEqual("Thíš i⋅ a te&smacr;t.&unknown;😀😅", stdex::str2sgml(L"Th\u00ed\u0161 i\u22c5 a te\u0073\u0304t.&unknown;😀😅", (size_t)-1).c_str());
|
||||
Assert::AreEqual("This", stdex::str2sgml(L"This is a test.", 4).c_str());
|
||||
Assert::AreEqual("te&smacr;", stdex::str2sgml(L"te\u0073\u0304t", 4).c_str());
|
||||
Assert::AreEqual("tes", stdex::str2sgml(L"te\u0073\u0304t", 3).c_str());
|
||||
Assert::AreEqual("⌘‰͢", stdex::str2sgml(L"⌘‰͢", (size_t)-1).c_str());
|
||||
Assert::AreEqual("$\"<>&", stdex::str2sgml(L"$\"<>&", (size_t)-1).c_str());
|
||||
Assert::AreEqual("$"<>&", stdex::str2sgml(L"$\"<>&", (size_t)-1, stdex::sgml_c).c_str());
|
||||
}
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user