summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT/StringRefTest.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-08-30 17:29:59 +0000
committerZachary Turner <zturner@google.com>2016-08-30 17:29:59 +0000
commit84fc059e380816ac8becf25d6f0cc07b1bb60ce5 (patch)
treeb581b745402ec44fff95fc065f8e538fa82b5cf7 /llvm/unittests/ADT/StringRefTest.cpp
parent30905f8a4007cf190fa6d4d3a8cea137cc387bfa (diff)
downloadbcm5719-llvm-84fc059e380816ac8becf25d6f0cc07b1bb60ce5.tar.gz
bcm5719-llvm-84fc059e380816ac8becf25d6f0cc07b1bb60ce5.zip
Add StringRef::take_front and StringRef::take_back
Reviewed By: majnemer, rnk Differential Revision: https://reviews.llvm.org/D23965 llvm-svn: 280114
Diffstat (limited to 'llvm/unittests/ADT/StringRefTest.cpp')
-rw-r--r--llvm/unittests/ADT/StringRefTest.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/StringRefTest.cpp b/llvm/unittests/ADT/StringRefTest.cpp
index 72018869742..97ddaf6adcc 100644
--- a/llvm/unittests/ADT/StringRefTest.cpp
+++ b/llvm/unittests/ADT/StringRefTest.cpp
@@ -640,5 +640,48 @@ TEST(StringRefTest, AllocatorCopy) {
EXPECT_NE(Str2.data(), Str2c.data());
}
+TEST(StringRefTest, Drop) {
+ StringRef Test("StringRefTest::Drop");
+
+ StringRef Dropped = Test.drop_front(5);
+ EXPECT_EQ(Dropped, "gRefTest::Drop");
+
+ Dropped = Test.drop_back(5);
+ EXPECT_EQ(Dropped, "StringRefTest:");
+
+ Dropped = Test.drop_front(0);
+ EXPECT_EQ(Dropped, Test);
+
+ Dropped = Test.drop_back(0);
+ EXPECT_EQ(Dropped, Test);
+
+ Dropped = Test.drop_front(Test.size());
+ EXPECT_TRUE(Dropped.empty());
+
+ Dropped = Test.drop_back(Test.size());
+ EXPECT_TRUE(Dropped.empty());
+}
+
+TEST(StringRefTest, Take) {
+ StringRef Test("StringRefTest::Take");
+
+ StringRef Taken = Test.take_front(5);
+ EXPECT_EQ(Taken, "Strin");
+
+ Taken = Test.take_back(5);
+ EXPECT_EQ(Taken, ":Take");
+
+ Taken = Test.take_front(Test.size());
+ EXPECT_EQ(Taken, Test);
+
+ Taken = Test.take_back(Test.size());
+ EXPECT_EQ(Taken, Test);
+
+ Taken = Test.take_front(0);
+ EXPECT_TRUE(Taken.empty());
+
+ Taken = Test.take_back(0);
+ EXPECT_TRUE(Taken.empty());
+}
} // end anonymous namespace
OpenPOWER on IntegriCloud