From a80c905be9c4c32624906d168e55376ff4b15b48 Mon Sep 17 00:00:00 2001 From: Birunthan Mohanathas Date: Thu, 13 Jun 2013 17:01:16 +0300 Subject: [PATCH] Add tests for StringUtil --- Common/Common_Test.vcxproj | 1 + Common/Common_Test.vcxproj.filters | 1 + Common/StringUtil_Test.cpp | 46 ++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 Common/StringUtil_Test.cpp diff --git a/Common/Common_Test.vcxproj b/Common/Common_Test.vcxproj index 01f26339..20ab3660 100644 --- a/Common/Common_Test.vcxproj +++ b/Common/Common_Test.vcxproj @@ -14,6 +14,7 @@ + diff --git a/Common/Common_Test.vcxproj.filters b/Common/Common_Test.vcxproj.filters index 9074d1f5..7c40c33b 100644 --- a/Common/Common_Test.vcxproj.filters +++ b/Common/Common_Test.vcxproj.filters @@ -2,6 +2,7 @@ + \ No newline at end of file diff --git a/Common/StringUtil_Test.cpp b/Common/StringUtil_Test.cpp new file mode 100644 index 00000000..6797b2b4 --- /dev/null +++ b/Common/StringUtil_Test.cpp @@ -0,0 +1,46 @@ +/* + Copyright (C) 2013 Rainmeter Team + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "CppUnitTest.h" +#include "StringUtil.h" + +using namespace Microsoft::VisualStudio::CppUnitTestFramework; + +namespace StringUtil { + +TEST_CLASS(Common_StringUtil_Test) +{ +public: + TEST_METHOD(TestWiden) + { + Assert::AreEqual(Widen("test").c_str(), L"test"); + Assert::AreEqual(Widen("test", 2).c_str(), L"te"); + Assert::AreEqual(WidenUTF8("\xd0\xa2\xc4\x94st").c_str(), L"\u0422\u0114st"); + Assert::AreEqual(WidenUTF8("\xd0\xa2\xc4\x94st", 2).c_str(), L"\u0422"); + } + + TEST_METHOD(TestNarrow) + { + Assert::AreEqual(Narrow(L"test").c_str(), "test"); + Assert::AreEqual(Narrow(L"test", 2).c_str(), "te"); + Assert::AreEqual(NarrowUTF8(L"\u0422\u0114st").c_str(), "\xd0\xa2\xc4\x94st"); + Assert::AreEqual(NarrowUTF8(L"\u0422\u0114st", 1).c_str(), "\xd0\xa2"); + } +}; + +} // namespace StringUtil