#include "str.hh" #include TEST(str, split) { auto ret = str::split(""); EXPECT_EQ(0, ret.size()); ret = str::split("", ' ', true); ASSERT_EQ(1, ret.size()); EXPECT_EQ("", ret[0]); ret = str::split(" "); EXPECT_EQ(0, ret.size()); ret = str::split(" ", ' ', true); ASSERT_EQ(2, ret.size()); EXPECT_EQ("", ret[0]); EXPECT_EQ("", ret[1]); ret = str::split(" a b "); ASSERT_EQ(2, ret.size()); EXPECT_EQ("a", ret[0]); EXPECT_EQ("b", ret[1]); ret = str::split(" a b ", ' ', true); ASSERT_EQ(4, ret.size()); EXPECT_EQ("", ret[0]); EXPECT_EQ("a", ret[1]); EXPECT_EQ("b", ret[2]); EXPECT_EQ("", ret[3]); ret = str::split(" a b", ' ', true); ASSERT_EQ(3, ret.size()); EXPECT_EQ("", ret[0]); EXPECT_EQ("a", ret[1]); EXPECT_EQ("b", ret[2]); } TEST(str, trim) { auto ret = str::trim(""); EXPECT_EQ("", ret); ret = str::trim(" "); EXPECT_EQ("", ret); ret = str::trim(" "); EXPECT_EQ("", ret); ret = str::trim("foo"); EXPECT_EQ("foo", ret); ret = str::trim(" foo"); EXPECT_EQ("foo", ret); ret = str::trim(" foo "); EXPECT_EQ("foo", ret); ret = str::trim("foo "); EXPECT_EQ("foo", ret); ret = str::trim(" foo bar "); EXPECT_EQ("foo bar", ret); ret = str::trim("\tfoo bar\r\n"); EXPECT_EQ("foo bar", ret); }