From 48939df9a5ef1ff20f4f9717d1341b51a50dff14 Mon Sep 17 00:00:00 2001 From: Ekdohibs Date: Mon, 4 Apr 2016 18:31:00 +0200 Subject: Escape more strings: formspecs, item descriptions, infotexts... Also, change the escape character to the more standard \x1b Thus, it can be used in the future for translation or colored text, for example. --- src/unittest/test_utilities.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/unittest') diff --git a/src/unittest/test_utilities.cpp b/src/unittest/test_utilities.cpp index 1785997de..d73975b9f 100644 --- a/src/unittest/test_utilities.cpp +++ b/src/unittest/test_utilities.cpp @@ -45,6 +45,7 @@ public: void testStringAllowed(); void testAsciiPrintableHelper(); void testUTF8(); + void testRemoveEscapes(); void testWrapRows(); void testIsNumber(); void testIsPowerOfTwo(); @@ -71,6 +72,7 @@ void TestUtilities::runTests(IGameDef *gamedef) TEST(testStringAllowed); TEST(testAsciiPrintableHelper); TEST(testUTF8); + TEST(testRemoveEscapes); TEST(testWrapRows); TEST(testIsNumber); TEST(testIsPowerOfTwo); @@ -253,6 +255,23 @@ void TestUtilities::testUTF8() == "the shovel dug a crumbly node!"); } +void TestUtilities::testRemoveEscapes() +{ + UASSERT(unescape_enriched( + L"abc\x1bXdef") == L"abcdef"); + UASSERT(unescape_enriched( + L"abc\x1b(escaped)def") == L"abcdef"); + UASSERT(unescape_enriched( + L"abc\x1b((escaped with parenthesis\\))def") == L"abcdef"); + UASSERT(unescape_enriched( + L"abc\x1b(incomplete") == L"abc"); + UASSERT(unescape_enriched( + L"escape at the end\x1b") == L"escape at the end"); + // Nested escapes not supported + UASSERT(unescape_enriched( + L"abc\x1b(outer \x1b(inner escape)escape)def") == L"abcescape)def"); +} + void TestUtilities::testWrapRows() { UASSERT(wrap_rows("12345678",4) == "1234\n5678"); -- cgit v1.2.3