summaryrefslogtreecommitdiff
path: root/cpp/test/IceUtil/inputUtil/Client.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2009-12-18 21:13:09 +0100
committerBenoit Foucher <benoit@zeroc.com>2009-12-18 21:13:09 +0100
commitaa6809bd9431b5cc3952d6a6e2abde76b2bf003c (patch)
tree0da37ff519b9a3b6effbd1583b61abbf6f132c2a /cpp/test/IceUtil/inputUtil/Client.cpp
parenthttp://bugzilla/bugzilla/show_bug.cgi?id=4509 - parallel build issues. (diff)
downloadice-aa6809bd9431b5cc3952d6a6e2abde76b2bf003c.tar.bz2
ice-aa6809bd9431b5cc3952d6a6e2abde76b2bf003c.tar.xz
ice-aa6809bd9431b5cc3952d6a6e2abde76b2bf003c.zip
Fixed bug 4511 - properties override doesn't handle quotes
Diffstat (limited to 'cpp/test/IceUtil/inputUtil/Client.cpp')
-rw-r--r--cpp/test/IceUtil/inputUtil/Client.cpp45
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;
}