| Index: ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller_unittest.mm
|
| diff --git a/ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller_unittest.mm b/ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller_unittest.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7d61f0ad4ddb00843428b6234df5c5781340987e
|
| --- /dev/null
|
| +++ b/ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller_unittest.mm
|
| @@ -0,0 +1,73 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#import "ios/clean/chrome/browser/ui/tab_collection/tab_collection_view_controller.h"
|
| +
|
| +#import "ios/clean/chrome/browser/ui/tab_collection/tab_collection_consumer.h"
|
| +#import "ios/clean/chrome/browser/ui/tab_collection/tab_collection_item.h"
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +#import "testing/gtest_mac.h"
|
| +#include "testing/platform_test.h"
|
| +#include "third_party/ocmock/gtest_support.h"
|
| +
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| +@interface TestTabCollectionViewController : TabCollectionViewController
|
| +@property(nonatomic, readwrite) NSMutableArray<TabCollectionItem*>* items;
|
| +@end
|
| +
|
| +@implementation TestTabCollectionViewController
|
| +@dynamic items;
|
| +@end
|
| +
|
| +class TabCollectionViewControllerTest : public PlatformTest {
|
| + public:
|
| + TabCollectionViewControllerTest() {
|
| + view_controller_ = [[TestTabCollectionViewController alloc] init];
|
| + TabCollectionItem* item0 = [[TabCollectionItem alloc] init];
|
| + item0.title = @"Item0";
|
| + TabCollectionItem* item1 = [[TabCollectionItem alloc] init];
|
| + item1.title = @"Item1";
|
| + view_controller_.items = [@[ item0, item1 ] mutableCopy];
|
| + }
|
| +
|
| + protected:
|
| + TestTabCollectionViewController* view_controller_;
|
| +};
|
| +
|
| +// Tests that an item is inserted.
|
| +TEST_F(TabCollectionViewControllerTest, TestInsertItem) {
|
| + [view_controller_ insertItem:[[TabCollectionItem alloc] init] atIndex:0];
|
| + EXPECT_EQ(3, static_cast<int>(view_controller_.items.count));
|
| +}
|
| +
|
| +// Tests that an item is deleted.
|
| +TEST_F(TabCollectionViewControllerTest, TestDeleteItem) {
|
| + [view_controller_ deleteItemAtIndex:0];
|
| + EXPECT_EQ(1, static_cast<int>(view_controller_.items.count));
|
| +}
|
| +
|
| +// Tests that an item is moved.
|
| +TEST_F(TabCollectionViewControllerTest, TestMoveItem) {
|
| + [view_controller_ moveItemFromIndex:0 toIndex:1];
|
| + EXPECT_NSEQ(@"Item1", view_controller_.items[0].title);
|
| +}
|
| +
|
| +// Tests that an item is replaced.
|
| +TEST_F(TabCollectionViewControllerTest, TestReplaceItem) {
|
| + TabCollectionItem* item = [[TabCollectionItem alloc] init];
|
| + item.title = @"NewItem";
|
| + [view_controller_ replaceItemAtIndex:0 withItem:item];
|
| + EXPECT_NSEQ(@"NewItem", view_controller_.items[0].title);
|
| +}
|
| +
|
| +// Tests that items are initialized.
|
| +TEST_F(TabCollectionViewControllerTest, TestInitializeItems) {
|
| + TabCollectionItem* item = [[TabCollectionItem alloc] init];
|
| + item.title = @"NewItem";
|
| + [view_controller_ populateItems:@[ item ]];
|
| + EXPECT_NSEQ(@"NewItem", view_controller_.items[0].title);
|
| +}
|
|
|