diff options
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp')
-rw-r--r-- | Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp | 98 |
1 files changed, 90 insertions, 8 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp b/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp index a550a845b..b97d866e7 100644 --- a/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp +++ b/Tools/TestWebKitAPI/Tests/WTF/ListHashSet.cpp @@ -78,7 +78,7 @@ TEST(WTF_ListHashSet, AppendOrMoveToLastNewItems) result = list.appendOrMoveToLast(3); ASSERT_TRUE(result.isNewEntry); - ASSERT_EQ(list.size(), 3); + ASSERT_EQ(list.size(), 3u); // The list should be in order 1, 2, 3. ListHashSet<int>::iterator iterator = list.begin(); @@ -99,11 +99,11 @@ TEST(WTF_ListHashSet, AppendOrMoveToLastWithDuplicates) ASSERT_TRUE(result.isNewEntry); result = list.appendOrMoveToLast(1); ASSERT_FALSE(result.isNewEntry); - ASSERT_EQ(1, list.size()); + ASSERT_EQ(1u, list.size()); list.add(2); list.add(3); - ASSERT_EQ(3, list.size()); + ASSERT_EQ(3u, list.size()); // Appending 2 move it to the end. ASSERT_EQ(3, list.last()); @@ -118,7 +118,7 @@ TEST(WTF_ListHashSet, AppendOrMoveToLastWithDuplicates) ASSERT_FALSE(result.isNewEntry); result = list.appendOrMoveToLast(1); ASSERT_FALSE(result.isNewEntry); - ASSERT_EQ(3, list.size()); + ASSERT_EQ(3u, list.size()); ListHashSet<int>::iterator iterator = list.begin(); ASSERT_EQ(3, *iterator); @@ -139,7 +139,7 @@ TEST(WTF_ListHashSet, PrependOrMoveToLastNewItems) result = list.prependOrMoveToFirst(3); ASSERT_TRUE(result.isNewEntry); - ASSERT_EQ(list.size(), 3); + ASSERT_EQ(list.size(), 3u); // The list should be in order 3, 1, 2. ListHashSet<int>::iterator iterator = list.begin(); @@ -160,11 +160,11 @@ TEST(WTF_ListHashSet, PrependOrMoveToLastWithDuplicates) ASSERT_TRUE(result.isNewEntry); result = list.prependOrMoveToFirst(1); ASSERT_FALSE(result.isNewEntry); - ASSERT_EQ(1, list.size()); + ASSERT_EQ(1u, list.size()); list.add(2); list.add(3); - ASSERT_EQ(3, list.size()); + ASSERT_EQ(3u, list.size()); // Prepending 2 move it to the beginning. ASSERT_EQ(1, list.first()); @@ -179,7 +179,7 @@ TEST(WTF_ListHashSet, PrependOrMoveToLastWithDuplicates) ASSERT_FALSE(result.isNewEntry); result = list.prependOrMoveToFirst(3); ASSERT_FALSE(result.isNewEntry); - ASSERT_EQ(3, list.size()); + ASSERT_EQ(3u, list.size()); ListHashSet<int>::iterator iterator = list.begin(); ASSERT_EQ(3, *iterator); @@ -266,4 +266,86 @@ TEST(WTF_ListHashSet, MoveOnly) ASSERT_TRUE(list.isEmpty()); } +TEST(WTF_ListHashSet, MoveConstructor) +{ + ListHashSet<int> list; + list.add(1); + list.add(2); + list.add(3); + + ASSERT_EQ(3U, list.size()); + auto iterator = list.begin(); + ASSERT_EQ(1, *iterator); + ++iterator; + ASSERT_EQ(2, *iterator); + ++iterator; + ASSERT_EQ(3, *iterator); + ++iterator; + + ListHashSet<int> list2(WTFMove(list)); + ASSERT_EQ(3U, list2.size()); + auto iterator2 = list2.begin(); + ASSERT_EQ(1, *iterator2); + ++iterator2; + ASSERT_EQ(2, *iterator2); + ++iterator2; + ASSERT_EQ(3, *iterator2); + ++iterator2; + + ASSERT_EQ(0U, list.size()); + ASSERT_TRUE(list.begin() == list.end()); + list.add(4); + list.add(5); + list.add(6); + iterator = list.begin(); + ASSERT_EQ(4, *iterator); + ++iterator; + ASSERT_EQ(5, *iterator); + ++iterator; + ASSERT_EQ(6, *iterator); + ++iterator; +} + +TEST(WTF_ListHashSet, MoveAssignment) +{ + ListHashSet<int> list; + list.add(1); + list.add(2); + list.add(3); + + ASSERT_EQ(3U, list.size()); + auto iterator = list.begin(); + ASSERT_EQ(1, *iterator); + ++iterator; + ASSERT_EQ(2, *iterator); + ++iterator; + ASSERT_EQ(3, *iterator); + ++iterator; + + ListHashSet<int> list2; + list2.add(10); + list2 = (WTFMove(list)); + ASSERT_EQ(3U, list2.size()); + auto iterator2 = list2.begin(); + ASSERT_EQ(1, *iterator2); + ++iterator2; + ASSERT_EQ(2, *iterator2); + ++iterator2; + ASSERT_EQ(3, *iterator2); + ++iterator2; + + ASSERT_EQ(0U, list.size()); + ASSERT_TRUE(list.begin() == list.end()); + list.add(4); + list.add(5); + list.add(6); + iterator = list.begin(); + ASSERT_EQ(4, *iterator); + ++iterator; + ASSERT_EQ(5, *iterator); + ++iterator; + ASSERT_EQ(6, *iterator); + ++iterator; +} + } // namespace TestWebKitAPI |