diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-07-26 03:18:15 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-26 03:18:15 +0000 |
commit | d61918fc6898a89df8b0a03e068f234ded010cdf (patch) | |
tree | 92b439caaae28a4f15c6b10e8df3061126c752cc /unittests/ADT/StringRefTest.cpp | |
parent | abb477f66364fcaff1a79acf9d666dfdf6272a19 (diff) | |
download | external_llvm-d61918fc6898a89df8b0a03e068f234ded010cdf.zip external_llvm-d61918fc6898a89df8b0a03e068f234ded010cdf.tar.gz external_llvm-d61918fc6898a89df8b0a03e068f234ded010cdf.tar.bz2 |
Add StringRef::{slice, split}, two convenient string operations which are simple
and efficient on a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77117 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/ADT/StringRefTest.cpp')
-rw-r--r-- | unittests/ADT/StringRefTest.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/unittests/ADT/StringRefTest.cpp b/unittests/ADT/StringRefTest.cpp index ba2216d..e7498cc 100644 --- a/unittests/ADT/StringRefTest.cpp +++ b/unittests/ADT/StringRefTest.cpp @@ -64,6 +64,21 @@ TEST(StringRefTest, Utilities) { EXPECT_TRUE(Str.substr(0, 100) == "hello"); EXPECT_TRUE(Str.substr(4, 10) == "o"); + EXPECT_TRUE(Str.slice(2, 3) == "l"); + EXPECT_TRUE(Str.slice(1, 4) == "ell"); + EXPECT_TRUE(Str.slice(2, 100) == "llo"); + EXPECT_TRUE(Str.slice(2, 1) == ""); + EXPECT_TRUE(Str.slice(10, 20) == ""); + + EXPECT_TRUE(Str.split('X') == std::make_pair(StringRef("hello"), + StringRef(""))); + EXPECT_TRUE(Str.split('e') == std::make_pair(StringRef("h"), + StringRef("llo"))); + EXPECT_TRUE(Str.split('h') == std::make_pair(StringRef(""), + StringRef("ello"))); + EXPECT_TRUE(Str.split('o') == std::make_pair(StringRef("hell"), + StringRef(""))); + EXPECT_TRUE(Str.startswith("he")); EXPECT_FALSE(Str.startswith("helloworld")); EXPECT_FALSE(Str.startswith("hi")); |