summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@yahooinc.com>2022-03-24 12:58:27 +0000
committerTor Brede Vekterli <vekterli@yahooinc.com>2022-03-24 13:03:45 +0000
commita9be5981c11d11e8c89baeb699ba2b6ffada2d67 (patch)
treedab6f9aab1c254c2d9f2e4941df3af91fd07b8bb /vespalib/src/tests
parent7d8808a32d70cbf17a45059b4541e350307c01dd (diff)
Use vespalib::string in TestAndSetCondition
Avoids some implicit conversions. Add `starts_with` to `vespalib::string` and `vespalib::stringref` to allow drop-in replacement for Document API code.
Diffstat (limited to 'vespalib/src/tests')
-rw-r--r--vespalib/src/tests/stllike/string_test.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/vespalib/src/tests/stllike/string_test.cpp b/vespalib/src/tests/stllike/string_test.cpp
index de384bce9ad..d60380aa3ab 100644
--- a/vespalib/src/tests/stllike/string_test.cpp
+++ b/vespalib/src/tests/stllike/string_test.cpp
@@ -489,4 +489,23 @@ TEST("test that empty_string is shared and empty") {
EXPECT_EQUAL(empty_string(), "");
}
+TEST("starts_with has expected semantics for small_string") {
+ vespalib::string a("foobar");
+ EXPECT_TRUE(a.starts_with(""));
+ EXPECT_TRUE(a.starts_with("foo"));
+ EXPECT_TRUE(a.starts_with("foobar"));
+ EXPECT_FALSE(a.starts_with("foobarf"));
+ EXPECT_FALSE(a.starts_with("oobar"));
+}
+
+TEST("starts_with has expected semantics for stringref") {
+ vespalib::string a("foobar");
+ vespalib::stringref ar(a);
+ EXPECT_TRUE(ar.starts_with(""));
+ EXPECT_TRUE(ar.starts_with("foo"));
+ EXPECT_TRUE(ar.starts_with("foobar"));
+ EXPECT_FALSE(ar.starts_with("foobarf"));
+ EXPECT_FALSE(ar.starts_with("oobar"));
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }