summaryrefslogtreecommitdiff
path: root/libartbase/base/utils_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libartbase/base/utils_test.cc')
-rw-r--r--libartbase/base/utils_test.cc53
1 files changed, 51 insertions, 2 deletions
diff --git a/libartbase/base/utils_test.cc b/libartbase/base/utils_test.cc
index f67ada261e..09705fe862 100644
--- a/libartbase/base/utils_test.cc
+++ b/libartbase/base/utils_test.cc
@@ -15,6 +15,7 @@
*/
#include "utils.h"
+#include "stl_util.h"
#include "gtest/gtest.h"
@@ -41,9 +42,13 @@ TEST_F(UtilsTest, PrettySize) {
EXPECT_EQ("512B", PrettySize(512));
}
+void Split(const char* arr, char s, std::vector<std::string_view>* sv) {
+ Split<std::string_view>(std::string_view(arr), s, sv);
+}
+
TEST_F(UtilsTest, Split) {
- std::vector<std::string> actual;
- std::vector<std::string> expected;
+ std::vector<std::string_view> actual;
+ std::vector<std::string_view> expected;
expected.clear();
@@ -115,4 +120,48 @@ TEST_F(UtilsTest, GetProcessStatus) {
EXPECT_EQ("<unknown>", GetProcessStatus("InvalidFieldName"));
}
+TEST_F(UtilsTest, StringSplit) {
+ auto range = SplitString("[ab[c[[d[e[", '[');
+ auto it = range.begin();
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "ab");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "c");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "d");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "e");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "");
+ EXPECT_TRUE(it == range.end());
+}
+
+TEST_F(UtilsTest, StringSplit2) {
+ auto range = SplitString("ab[c[[d[e", '[');
+ auto it = range.begin();
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "ab");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "c");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "d");
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "e");
+ EXPECT_TRUE(it == range.end());
+}
+
+TEST_F(UtilsTest, StringSplit3) {
+ auto range = SplitString("", '[');
+ auto it = range.begin();
+ EXPECT_FALSE(it == range.end());
+ EXPECT_EQ(*it++, "");
+ EXPECT_TRUE(it == range.end());
+}
+
} // namespace art