diff options
Diffstat (limited to 'cpp/test/IceUtil/inputUtil/Client.cpp')
-rw-r--r-- | cpp/test/IceUtil/inputUtil/Client.cpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/cpp/test/IceUtil/inputUtil/Client.cpp b/cpp/test/IceUtil/inputUtil/Client.cpp index 544ea1c6959..8341b43ecea 100644 --- a/cpp/test/IceUtil/inputUtil/Client.cpp +++ b/cpp/test/IceUtil/inputUtil/Client.cpp @@ -9,6 +9,7 @@ #include <IceUtil/Unicode.h> #include <IceUtil/InputUtil.h> +#include <IceUtil/StringUtil.h> #include <IceUtil/Options.h> #include <TestCommon.h> @@ -190,5 +191,49 @@ main(int, char**) } cout << "ok" << endl; + cout << "checking string splitting... " << flush; + { + vector<string> ss; + test(IceUtilInternal::splitString("", "", ss) && ss.empty()); + ss.clear(); + test(IceUtilInternal::splitString("", ":", ss) && ss.empty()); + ss.clear(); + test(IceUtilInternal::splitString("a", "", ss) && ss.size() == 1 && ss[0] == "a"); + ss.clear(); + test(IceUtilInternal::splitString("a", ":", ss) && ss.size() == 1 && ss[0] == "a"); + ss.clear(); + test(IceUtilInternal::splitString("ab", "", ss) && ss.size() == 1 && ss[0] == "ab"); + ss.clear(); + test(IceUtilInternal::splitString("ab:", ":", ss) && ss.size() == 1 && ss[0] == "ab"); + ss.clear(); + test(IceUtilInternal::splitString(":ab", ":", ss) && ss.size() == 1 && ss[0] == "ab"); + ss.clear(); + test(IceUtilInternal::splitString("a:b", ":", ss) && ss.size() == 2 && ss[0] == "a" && ss[1] == "b"); + ss.clear(); + test(IceUtilInternal::splitString(":a:b:", ":", ss) && ss.size() == 2 && ss[0] == "a" && ss[1] == "b"); + ss.clear(); + + test(IceUtilInternal::splitString("\"a\"", ":", ss) && ss.size() == 1 && ss[0] == "a"); + ss.clear(); + test(IceUtilInternal::splitString("\"a\":b", ":", ss) && ss.size() == 2 && ss[0] == "a" && ss[1] == "b"); + ss.clear(); + test(IceUtilInternal::splitString("\"a\":\"b\"", ":", ss) && ss.size() == 2 && ss[0] == "a" && ss[1] == "b"); + ss.clear(); + test(IceUtilInternal::splitString("\"a:b\"", ":", ss) && ss.size() == 1 && ss[0] == "a:b"); + ss.clear(); + test(IceUtilInternal::splitString("a=\"a:b\"", ":", ss) && ss.size() == 1 && ss[0] == "a=a:b"); + ss.clear(); + + test(IceUtilInternal::splitString("'a'", ":", ss) && ss.size() == 1 && ss[0] == "a"); + ss.clear(); + test(IceUtilInternal::splitString("'\"a'", ":", ss) && ss.size() == 1 && ss[0] == "\"a"); + ss.clear(); + test(IceUtilInternal::splitString("\"'a\"", ":", ss) && ss.size() == 1 && ss[0] == "'a"); + ss.clear(); + + test(!IceUtilInternal::splitString("a\"b", ":", ss)); + } + cout << "ok" << endl; + return EXIT_SUCCESS; } |