summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/unittests/ADT/StringRefTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/unittests/ADT/StringRefTest.cpp')
-rw-r--r--contrib/llvm/unittests/ADT/StringRefTest.cpp273
1 files changed, 0 insertions, 273 deletions
diff --git a/contrib/llvm/unittests/ADT/StringRefTest.cpp b/contrib/llvm/unittests/ADT/StringRefTest.cpp
deleted file mode 100644
index 887ba5d..0000000
--- a/contrib/llvm/unittests/ADT/StringRefTest.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-//===- llvm/unittest/ADT/StringRefTest.cpp - StringRef unit tests ---------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "gtest/gtest.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/Support/raw_ostream.h"
-using namespace llvm;
-
-namespace llvm {
-
-std::ostream &operator<<(std::ostream &OS, const StringRef &S) {
- OS << S;
- return OS;
-}
-
-std::ostream &operator<<(std::ostream &OS,
- const std::pair<StringRef, StringRef> &P) {
- OS << "(" << P.first << ", " << P.second << ")";
- return OS;
-}
-
-}
-
-namespace {
-TEST(StringRefTest, Construction) {
- EXPECT_EQ("", StringRef());
- EXPECT_EQ("hello", StringRef("hello"));
- EXPECT_EQ("hello", StringRef("hello world", 5));
- EXPECT_EQ("hello", StringRef(std::string("hello")));
-}
-
-TEST(StringRefTest, Iteration) {
- StringRef S("hello");
- const char *p = "hello";
- for (const char *it = S.begin(), *ie = S.end(); it != ie; ++it, ++p)
- EXPECT_EQ(*it, *p);
-}
-
-TEST(StringRefTest, StringOps) {
- const char *p = "hello";
- EXPECT_EQ(p, StringRef(p, 0).data());
- EXPECT_TRUE(StringRef().empty());
- EXPECT_EQ((size_t) 5, StringRef("hello").size());
- EXPECT_EQ(-1, StringRef("aab").compare("aad"));
- EXPECT_EQ( 0, StringRef("aab").compare("aab"));
- EXPECT_EQ( 1, StringRef("aab").compare("aaa"));
- EXPECT_EQ(-1, StringRef("aab").compare("aabb"));
- EXPECT_EQ( 1, StringRef("aab").compare("aa"));
-
- EXPECT_EQ(-1, StringRef("aab").compare_numeric("aad"));
- EXPECT_EQ( 0, StringRef("aab").compare_numeric("aab"));
- EXPECT_EQ( 1, StringRef("aab").compare_numeric("aaa"));
- EXPECT_EQ(-1, StringRef("aab").compare_numeric("aabb"));
- EXPECT_EQ( 1, StringRef("aab").compare_numeric("aa"));
- EXPECT_EQ(-1, StringRef("1").compare_numeric("10"));
- EXPECT_EQ( 0, StringRef("10").compare_numeric("10"));
- EXPECT_EQ( 0, StringRef("10a").compare_numeric("10a"));
- EXPECT_EQ( 1, StringRef("2").compare_numeric("1"));
- EXPECT_EQ( 0, StringRef("llvm_v1i64_ty").compare_numeric("llvm_v1i64_ty"));
-}
-
-TEST(StringRefTest, Operators) {
- EXPECT_EQ("", StringRef());
- EXPECT_TRUE(StringRef("aab") < StringRef("aad"));
- EXPECT_FALSE(StringRef("aab") < StringRef("aab"));
- EXPECT_TRUE(StringRef("aab") <= StringRef("aab"));
- EXPECT_FALSE(StringRef("aab") <= StringRef("aaa"));
- EXPECT_TRUE(StringRef("aad") > StringRef("aab"));
- EXPECT_FALSE(StringRef("aab") > StringRef("aab"));
- EXPECT_TRUE(StringRef("aab") >= StringRef("aab"));
- EXPECT_FALSE(StringRef("aaa") >= StringRef("aab"));
- EXPECT_EQ(StringRef("aab"), StringRef("aab"));
- EXPECT_FALSE(StringRef("aab") == StringRef("aac"));
- EXPECT_FALSE(StringRef("aab") != StringRef("aab"));
- EXPECT_TRUE(StringRef("aab") != StringRef("aac"));
- EXPECT_EQ('a', StringRef("aab")[1]);
-}
-
-TEST(StringRefTest, Substr) {
- StringRef Str("hello");
- EXPECT_EQ("lo", Str.substr(3));
- EXPECT_EQ("", Str.substr(100));
- EXPECT_EQ("hello", Str.substr(0, 100));
- EXPECT_EQ("o", Str.substr(4, 10));
-}
-
-TEST(StringRefTest, Slice) {
- StringRef Str("hello");
- EXPECT_EQ("l", Str.slice(2, 3));
- EXPECT_EQ("ell", Str.slice(1, 4));
- EXPECT_EQ("llo", Str.slice(2, 100));
- EXPECT_EQ("", Str.slice(2, 1));
- EXPECT_EQ("", Str.slice(10, 20));
-}
-
-TEST(StringRefTest, Split) {
- StringRef Str("hello");
- EXPECT_EQ(std::make_pair(StringRef("hello"), StringRef("")),
- Str.split('X'));
- EXPECT_EQ(std::make_pair(StringRef("h"), StringRef("llo")),
- Str.split('e'));
- EXPECT_EQ(std::make_pair(StringRef(""), StringRef("ello")),
- Str.split('h'));
- EXPECT_EQ(std::make_pair(StringRef("he"), StringRef("lo")),
- Str.split('l'));
- EXPECT_EQ(std::make_pair(StringRef("hell"), StringRef("")),
- Str.split('o'));
-
- EXPECT_EQ(std::make_pair(StringRef("hello"), StringRef("")),
- Str.rsplit('X'));
- EXPECT_EQ(std::make_pair(StringRef("h"), StringRef("llo")),
- Str.rsplit('e'));
- EXPECT_EQ(std::make_pair(StringRef(""), StringRef("ello")),
- Str.rsplit('h'));
- EXPECT_EQ(std::make_pair(StringRef("hel"), StringRef("o")),
- Str.rsplit('l'));
- EXPECT_EQ(std::make_pair(StringRef("hell"), StringRef("")),
- Str.rsplit('o'));
-}
-
-TEST(StringRefTest, Split2) {
- SmallVector<StringRef, 5> parts;
- SmallVector<StringRef, 5> expected;
-
- expected.push_back("ab"); expected.push_back("c");
- StringRef(",ab,,c,").split(parts, ",", -1, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back(""); expected.push_back("ab"); expected.push_back("");
- expected.push_back("c"); expected.push_back("");
- StringRef(",ab,,c,").split(parts, ",", -1, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("");
- StringRef("").split(parts, ",", -1, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- StringRef("").split(parts, ",", -1, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- StringRef(",").split(parts, ",", -1, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back(""); expected.push_back("");
- 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");
- StringRef("a,,b,c").split(parts, ",", 0, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a,,b,c");
- StringRef("a,,b,c").split(parts, ",", 0, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back(",b,c");
- StringRef("a,,b,c").split(parts, ",", 1, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back(",b,c");
- StringRef("a,,b,c").split(parts, ",", 1, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back(""); expected.push_back("b,c");
- StringRef("a,,b,c").split(parts, ",", 2, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back("b,c");
- StringRef("a,,b,c").split(parts, ",", 2, false);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back(""); expected.push_back("b");
- expected.push_back("c");
- StringRef("a,,b,c").split(parts, ",", 3, true);
- EXPECT_TRUE(parts == expected);
-
- expected.clear(); parts.clear();
- expected.push_back("a"); expected.push_back("b"); expected.push_back("c");
- StringRef("a,,b,c").split(parts, ",", 3, false);
- EXPECT_TRUE(parts == expected);
-}
-
-TEST(StringRefTest, StartsWith) {
- StringRef Str("hello");
- EXPECT_TRUE(Str.startswith("he"));
- EXPECT_FALSE(Str.startswith("helloworld"));
- 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'));
- EXPECT_EQ(StringRef::npos, Str.find('z'));
- EXPECT_EQ(StringRef::npos, Str.find("helloworld"));
- EXPECT_EQ(0U, Str.find("hello"));
- EXPECT_EQ(1U, Str.find("ello"));
- EXPECT_EQ(StringRef::npos, Str.find("zz"));
- EXPECT_EQ(2U, Str.find("ll", 2));
- EXPECT_EQ(StringRef::npos, Str.find("ll", 3));
-
- EXPECT_EQ(3U, Str.rfind('l'));
- EXPECT_EQ(StringRef::npos, Str.rfind('z'));
- EXPECT_EQ(StringRef::npos, Str.rfind("helloworld"));
- EXPECT_EQ(0U, Str.rfind("hello"));
- EXPECT_EQ(1U, Str.rfind("ello"));
- EXPECT_EQ(StringRef::npos, Str.rfind("zz"));
-
- EXPECT_EQ(2U, Str.find_first_of('l'));
- EXPECT_EQ(1U, Str.find_first_of("el"));
- EXPECT_EQ(StringRef::npos, Str.find_first_of("xyz"));
-
- EXPECT_EQ(1U, Str.find_first_not_of('h'));
- EXPECT_EQ(4U, Str.find_first_not_of("hel"));
- EXPECT_EQ(StringRef::npos, Str.find_first_not_of("hello"));
-}
-
-TEST(StringRefTest, Count) {
- StringRef Str("hello");
- EXPECT_EQ(2U, Str.count('l'));
- EXPECT_EQ(1U, Str.count('o'));
- EXPECT_EQ(0U, Str.count('z'));
- EXPECT_EQ(0U, Str.count("helloworld"));
- EXPECT_EQ(1U, Str.count("hello"));
- EXPECT_EQ(1U, Str.count("ello"));
- 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);
- OS << StringRef("hello");
- EXPECT_EQ("hello", OS.str());
-}
-
-} // end anonymous namespace
OpenPOWER on IntegriCloud