Add support for partial redefs to the fast register allocator.
[oota-llvm.git] / unittests / ADT / StringRefTest.cpp
index 3c0cc58ad2d5c3a110376e3ccdd0fe06f738d963..b0dcb0a0abababc3157e1bdaf8571b9059033ed6 100644 (file)
@@ -9,10 +9,11 @@
 
 #include "gtest/gtest.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/SmallVector.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
-namespace {
+namespace llvm {
 
 std::ostream &operator<<(std::ostream &OS, const StringRef &S) {
   OS << S;
@@ -25,6 +26,9 @@ std::ostream &operator<<(std::ostream &OS,
   return OS;
 }
 
+}
+
+namespace {
 TEST(StringRefTest, Construction) {
   EXPECT_EQ("", StringRef());
   EXPECT_EQ("hello", StringRef("hello"));
@@ -111,8 +115,8 @@ TEST(StringRefTest, Split) {
 }
 
 TEST(StringRefTest, Split2) {
-  std::vector<StringRef> parts;
-  std::vector<StringRef> expected;
+  SmallVector<StringRef, 5> parts;
+  SmallVector<StringRef, 5> expected;
 
   expected.push_back("ab"); expected.push_back("c");
   StringRef(",ab,,c,").split(parts, ",", -1, false);
@@ -142,6 +146,11 @@ TEST(StringRefTest, Split2) {
   StringRef(",").split(parts, ",", -1, true);
   EXPECT_TRUE(parts == expected);
 
+  expected.clear(); parts.clear();
+  expected.push_back("a"); expected.push_back("b");
+  StringRef("a,b").split(parts, ",", -1, true);
+  EXPECT_TRUE(parts == expected);
+
   // Test MaxSplit
   expected.clear(); parts.clear();
   expected.push_back("a,,b,c");
@@ -192,6 +201,14 @@ TEST(StringRefTest, StartsWith) {
   EXPECT_FALSE(Str.startswith("hi"));
 }
 
+TEST(StringRefTest, EndsWith) {
+  StringRef Str("hello");
+  EXPECT_TRUE(Str.endswith("lo"));
+  EXPECT_FALSE(Str.endswith("helloworld"));
+  EXPECT_FALSE(Str.endswith("worldhello"));
+  EXPECT_FALSE(Str.endswith("so"));
+}
+
 TEST(StringRefTest, Find) {
   StringRef Str("hello");
   EXPECT_EQ(2U, Str.find('l'));
@@ -230,6 +247,11 @@ TEST(StringRefTest, Count) {
   EXPECT_EQ(0U, Str.count("zz"));
 }
 
+TEST(StringRefTest, EditDistance) {
+  StringRef Str("hello");
+  EXPECT_EQ(2U, Str.edit_distance("hill"));
+}
+
 TEST(StringRefTest, Misc) {
   std::string Storage;
   raw_string_ostream OS(Storage);