aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/StringTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/StringTest.cpp')
-rw-r--r--tests/StringTest.cpp55
1 files changed, 54 insertions, 1 deletions
diff --git a/tests/StringTest.cpp b/tests/StringTest.cpp
index f621dc96af..9e41c48c84 100644
--- a/tests/StringTest.cpp
+++ b/tests/StringTest.cpp
@@ -201,9 +201,62 @@ DEF_TEST(String_SkStrSplit, r) {
results.reset();
SkStrSplit("\n", "\n", &results);
- REPORTER_ASSERT(r, results.count() == 1);
+ REPORTER_ASSERT(r, results.count() == 0);
results.reset();
SkStrSplit("", "\n", &results);
REPORTER_ASSERT(r, results.count() == 0);
+
+ results.reset();
+ SkStrSplit("a", "\n", &results);
+ REPORTER_ASSERT(r, results.count() == 1);
+ REPORTER_ASSERT(r, results[0].equals("a"));
+}
+DEF_TEST(String_SkStrSplit_All, r) {
+ SkTArray<SkString> results;
+ SkStrSplit("a-_b_c-dee--f-_-_-g-", "-_", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 13);
+ REPORTER_ASSERT(r, results[0].equals("a"));
+ REPORTER_ASSERT(r, results[1].equals(""));
+ REPORTER_ASSERT(r, results[2].equals("b"));
+ REPORTER_ASSERT(r, results[3].equals("c"));
+ REPORTER_ASSERT(r, results[4].equals("dee"));
+ REPORTER_ASSERT(r, results[5].equals(""));
+ REPORTER_ASSERT(r, results[6].equals("f"));
+ REPORTER_ASSERT(r, results[7].equals(""));
+ REPORTER_ASSERT(r, results[8].equals(""));
+ REPORTER_ASSERT(r, results[9].equals(""));
+ REPORTER_ASSERT(r, results[10].equals(""));
+ REPORTER_ASSERT(r, results[11].equals("g"));
+ REPORTER_ASSERT(r, results[12].equals(""));
+
+ results.reset();
+ SkStrSplit("\n", "\n", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 2);
+ REPORTER_ASSERT(r, results[0].equals(""));
+ REPORTER_ASSERT(r, results[1].equals(""));
+
+ results.reset();
+ SkStrSplit("", "\n", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 0);
+
+ results.reset();
+ SkStrSplit("a", "\n", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 1);
+ REPORTER_ASSERT(r, results[0].equals("a"));
+
+ results.reset();
+ SkStrSplit(",,", ",", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 3);
+ REPORTER_ASSERT(r, results[0].equals(""));
+ REPORTER_ASSERT(r, results[1].equals(""));
+ REPORTER_ASSERT(r, results[2].equals(""));
+
+ results.reset();
+ SkStrSplit(",a,b,", ",", kStrict_SkStrSplitMode, &results);
+ REPORTER_ASSERT(r, results.count() == 4);
+ REPORTER_ASSERT(r, results[0].equals(""));
+ REPORTER_ASSERT(r, results[1].equals("a"));
+ REPORTER_ASSERT(r, results[2].equals("b"));
+ REPORTER_ASSERT(r, results[3].equals(""));
}