diff options
Diffstat (limited to 'unittests/Utility/StringListTest.cpp')
-rw-r--r-- | unittests/Utility/StringListTest.cpp | 512 |
1 files changed, 0 insertions, 512 deletions
diff --git a/unittests/Utility/StringListTest.cpp b/unittests/Utility/StringListTest.cpp deleted file mode 100644 index fcd2da675f72..000000000000 --- a/unittests/Utility/StringListTest.cpp +++ /dev/null @@ -1,512 +0,0 @@ -//===-- StringListTest.cpp ---------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "lldb/Utility/StringList.h" -#include "lldb/Utility/StreamString.h" -#include "gtest/gtest.h" - -using namespace lldb_private; - -TEST(StringListTest, DefaultConstructor) { - StringList s; - EXPECT_EQ(0U, s.GetSize()); -} - -TEST(StringListTest, Assignment) { - StringList orig; - orig.AppendString("foo"); - orig.AppendString("bar"); - - StringList s = orig; - - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); - - ASSERT_EQ(2U, orig.GetSize()); - EXPECT_STREQ("foo", orig.GetStringAtIndex(0)); - EXPECT_STREQ("bar", orig.GetStringAtIndex(1)); -} - -TEST(StringListTest, AppendStringStdString) { - StringList s; - s.AppendString("foo"); - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s.AppendString("bar"); - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, AppendStringCString) { - StringList s; - s.AppendString("foo", strlen("foo")); - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s.AppendString("bar", strlen("bar")); - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, AppendStringMove) { - StringList s; - std::string foo = "foo"; - std::string bar = "bar"; - - s.AppendString(std::move(foo)); - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s.AppendString(std::move(bar)); - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, ShiftStdString) { - StringList s; - std::string foo = "foo"; - std::string bar = "bar"; - - s << foo; - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s << bar; - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, ShiftCString) { - StringList s; - s << "foo"; - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s << "bar"; - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, ShiftMove) { - StringList s; - std::string foo = "foo"; - std::string bar = "bar"; - - s << std::move(foo); - ASSERT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s << std::move(bar); - ASSERT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, AppendListCStringArrayEmpty) { - StringList s; - s.AppendList(nullptr, 0); - EXPECT_EQ(0U, s.GetSize()); -} - -TEST(StringListTest, AppendListCStringArray) { - StringList s; - const char *items[3] = {"foo", "", "bar"}; - s.AppendList(items, 3); - - EXPECT_EQ(3U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("", s.GetStringAtIndex(1)); - EXPECT_STREQ("bar", s.GetStringAtIndex(2)); -} - -TEST(StringListTest, AppendList) { - StringList other; - other.AppendString("foo"); - other.AppendString(""); - other.AppendString("bar"); - - StringList empty; - - StringList s; - s.AppendList(other); - - EXPECT_EQ(3U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("", s.GetStringAtIndex(1)); - EXPECT_STREQ("bar", s.GetStringAtIndex(2)); - - EXPECT_EQ(3U, other.GetSize()); - EXPECT_STREQ("foo", other.GetStringAtIndex(0)); - EXPECT_STREQ("", other.GetStringAtIndex(1)); - EXPECT_STREQ("bar", other.GetStringAtIndex(2)); - - s.AppendList(empty); - s.AppendList(other); - EXPECT_EQ(6U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("", s.GetStringAtIndex(1)); - EXPECT_STREQ("bar", s.GetStringAtIndex(2)); - EXPECT_STREQ("foo", s.GetStringAtIndex(3)); - EXPECT_STREQ("", s.GetStringAtIndex(4)); - EXPECT_STREQ("bar", s.GetStringAtIndex(5)); - - EXPECT_EQ(3U, other.GetSize()); - EXPECT_STREQ("foo", other.GetStringAtIndex(0)); - EXPECT_STREQ("", other.GetStringAtIndex(1)); - EXPECT_STREQ("bar", other.GetStringAtIndex(2)); -} - -TEST(StringListTest, GetSize) { - StringList s; - s.AppendString("foo"); - EXPECT_EQ(1U, s.GetSize()); - - s.AppendString("foo"); - EXPECT_EQ(2U, s.GetSize()); - - s.AppendString("foobar"); - EXPECT_EQ(3U, s.GetSize()); -} - -TEST(StringListTest, SetSize) { - StringList s; - s.SetSize(3); - EXPECT_EQ(3U, s.GetSize()); - EXPECT_STREQ("", s.GetStringAtIndex(0)); - EXPECT_STREQ("", s.GetStringAtIndex(1)); - EXPECT_STREQ("", s.GetStringAtIndex(2)); -} - -TEST(StringListTest, SplitIntoLines) { - StringList s; - s.SplitIntoLines("\nfoo\nbar\n\n"); - EXPECT_EQ(4U, s.GetSize()); - EXPECT_STREQ("", s.GetStringAtIndex(0)); - EXPECT_STREQ("foo", s.GetStringAtIndex(1)); - EXPECT_STREQ("bar", s.GetStringAtIndex(2)); - EXPECT_STREQ("", s.GetStringAtIndex(3)); -} - -TEST(StringListTest, SplitIntoLinesSingleTrailingCR) { - StringList s; - s.SplitIntoLines("\r"); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("", s.GetStringAtIndex(0)); -} - -TEST(StringListTest, SplitIntoLinesEmpty) { - StringList s; - s.SplitIntoLines(""); - EXPECT_EQ(0U, s.GetSize()); -} - -TEST(StringListTest, LongestCommonPrefixEmpty) { - StringList s; - std::string prefix = "this should be cleared"; - s.LongestCommonPrefix(prefix); - EXPECT_EQ("", prefix); -} - -TEST(StringListTest, LongestCommonPrefix) { - StringList s; - s.AppendString("foo"); - s.AppendString("foobar"); - s.AppendString("foo"); - s.AppendString("foozar"); - - std::string prefix = "this should be cleared"; - s.LongestCommonPrefix(prefix); - EXPECT_EQ("foo", prefix); -} - -TEST(StringListTest, LongestCommonPrefixSingleElement) { - StringList s; - s.AppendString("foo"); - - std::string prefix = "this should be cleared"; - s.LongestCommonPrefix(prefix); - EXPECT_EQ("foo", prefix); -} - -TEST(StringListTest, LongestCommonPrefixDuplicateElement) { - StringList s; - s.AppendString("foo"); - s.AppendString("foo"); - - std::string prefix = "this should be cleared"; - s.LongestCommonPrefix(prefix); - EXPECT_EQ("foo", prefix); -} - -TEST(StringListTest, LongestCommonPrefixNoPrefix) { - StringList s; - s.AppendString("foo"); - s.AppendString("1foobar"); - s.AppendString("2foo"); - s.AppendString("3foozar"); - - std::string prefix = "this should be cleared"; - s.LongestCommonPrefix(prefix); - EXPECT_EQ("", prefix); -} - -TEST(StringListTest, Clear) { - StringList s; - s.Clear(); - EXPECT_EQ(0U, s.GetSize()); - - s.AppendString("foo"); - s.Clear(); - EXPECT_EQ(0U, s.GetSize()); - - s.AppendString("foo"); - s.AppendString("foo"); - s.Clear(); - EXPECT_EQ(0U, s.GetSize()); -} - -TEST(StringListTest, PopBack) { - StringList s; - s.AppendString("foo"); - s.AppendString("bar"); - s.AppendString("boo"); - - s.PopBack(); - EXPECT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); - - s.PopBack(); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s.PopBack(); - EXPECT_EQ(0U, s.GetSize()); -} - -TEST(StringListTest, RemoveBlankLines) { - StringList s; - - // Nothing to remove yet. - s.RemoveBlankLines(); - EXPECT_EQ(0U, s.GetSize()); - - // Add some lines. - s.AppendString(""); - s.AppendString(""); - s.AppendString("\t"); - s.AppendString(""); - s.AppendString(" "); - s.AppendString(""); - s.AppendString(""); - s.AppendString("f"); - s.AppendString(""); - s.AppendString(""); - - // And remove all the empty ones again. - s.RemoveBlankLines(); - - EXPECT_EQ(3U, s.GetSize()); - EXPECT_STREQ("\t", s.GetStringAtIndex(0)); - EXPECT_STREQ(" ", s.GetStringAtIndex(1)); - EXPECT_STREQ("f", s.GetStringAtIndex(2)); -} - -TEST(StringListTest, InsertStringAtIndexStart) { - StringList s; - - s.InsertStringAtIndex(0, "bar"); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("bar", s.GetStringAtIndex(0)); - - s.InsertStringAtIndex(0, "foo"); - EXPECT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, InsertStringAtIndexEnd) { - StringList s; - - s.InsertStringAtIndex(0, "foo"); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - s.InsertStringAtIndex(1, "bar"); - EXPECT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, InsertStringAtIndexOutOfBounds) { - StringList s; - - s.InsertStringAtIndex(1, "foo"); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - - // FIXME: Inserting at an OOB index will always just append to the list. This - // seems not very intuitive. - s.InsertStringAtIndex(3, "bar"); - EXPECT_EQ(2U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); - EXPECT_STREQ("bar", s.GetStringAtIndex(1)); -} - -TEST(StringListTest, InsertStringAtIndexStdString) { - StringList s; - - std::string foo = "foo"; - s.InsertStringAtIndex(0, foo); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); -} - -TEST(StringListTest, InsertStringAtIndexMove) { - StringList s; - - std::string foo = "foo"; - s.InsertStringAtIndex(0, std::move(foo)); - EXPECT_EQ(1U, s.GetSize()); - EXPECT_STREQ("foo", s.GetStringAtIndex(0)); -} - -TEST(StringListTest, CopyListEmpty) { - StringList s; - - EXPECT_EQ("", s.CopyList()); - EXPECT_EQ("", s.CopyList("+")); -} - -TEST(StringListTest, CopyListSingle) { - StringList s; - s.AppendString("ab"); - - EXPECT_EQ("ab", s.CopyList()); - EXPECT_EQ("-ab", s.CopyList("-")); -} - -TEST(StringListTest, CopyList) { - StringList s; - s.AppendString("ab"); - s.AppendString("cd"); - - EXPECT_EQ("ab\ncd", s.CopyList()); - EXPECT_EQ("-ab\n-cd", s.CopyList("-")); -} - -TEST(StringListTest, Join) { - StringList s; - s.AppendString("ab"); - s.AppendString("cd"); - - StreamString ss; - s.Join(" ", ss); - - EXPECT_EQ("ab cd", ss.GetString()); -} - -TEST(StringListTest, JoinEmpty) { - StringList s; - - StreamString ss; - s.Join(" ", ss); - - EXPECT_EQ("", ss.GetString()); -} - -TEST(StringListTest, JoinSingle) { - StringList s; - s.AppendString("foo"); - - StreamString ss; - s.Join(" ", ss); - - EXPECT_EQ("foo", ss.GetString()); -} - -TEST(StringListTest, JoinThree) { - StringList s; - s.AppendString("1"); - s.AppendString("2"); - s.AppendString("3"); - - StreamString ss; - s.Join(" ", ss); - - EXPECT_EQ("1 2 3", ss.GetString()); -} - -TEST(StringListTest, JoinNonSpace) { - StringList s; - s.AppendString("1"); - s.AppendString("2"); - s.AppendString("3"); - - StreamString ss; - s.Join(".", ss); - - EXPECT_EQ("1.2.3", ss.GetString()); -} - -TEST(StringListTest, JoinMultiCharSeparator) { - StringList s; - s.AppendString("1"); - s.AppendString("2"); - s.AppendString("3"); - - StreamString ss; - s.Join("--", ss); - - EXPECT_EQ("1--2--3", ss.GetString()); -} - -TEST(StringListTest, GetMaxStringLengthEqualSize) { - StringList s; - s.AppendString("123"); - s.AppendString("123"); - EXPECT_EQ(3U, s.GetMaxStringLength()); -} - -TEST(StringListTest, GetMaxStringLengthIncreasingSize) { - StringList s; - s.AppendString("123"); - s.AppendString("1234"); - EXPECT_EQ(4U, s.GetMaxStringLength()); -} - -TEST(StringListTest, GetMaxStringLengthDecreasingSize) { - StringList s; - s.AppendString("1234"); - s.AppendString("123"); - EXPECT_EQ(4U, s.GetMaxStringLength()); -} - -TEST(StringListTest, GetMaxStringLengthMixed) { - StringList s; - s.AppendString("123"); - s.AppendString("1"); - s.AppendString("123"); - s.AppendString("1234"); - s.AppendString("123"); - s.AppendString("1"); - EXPECT_EQ(4U, s.GetMaxStringLength()); -} - -TEST(StringListTest, GetMaxStringLengthEmpty) { - StringList s; - EXPECT_EQ(0U, s.GetMaxStringLength()); -} |