| Index: remoting/ios/ui/host_list_view_controller_unittest.mm
|
| diff --git a/remoting/ios/ui/host_list_view_controller_unittest.mm b/remoting/ios/ui/host_list_view_controller_unittest.mm
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7e75739c0586e625f0bae15be05069c1c69aae5a
|
| --- /dev/null
|
| +++ b/remoting/ios/ui/host_list_view_controller_unittest.mm
|
| @@ -0,0 +1,90 @@
|
| +// Copyright 2014 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.
|
| +
|
| +#if !defined(__has_feature) || !__has_feature(objc_arc)
|
| +#error "This file requires ARC support."
|
| +#endif
|
| +
|
| +#import "remoting/ios/ui/host_list_view_controller.h"
|
| +
|
| +#import "base/compiler_specific.h"
|
| +#import "testing/gtest_mac.h"
|
| +
|
| +#import "remoting/ios/host.h"
|
| +#import "remoting/ios/host_refresh_test_helper.h"
|
| +#import "remoting/ios/ui/host_view_controller.h"
|
| +
|
| +namespace remoting {
|
| +
|
| +class HostListViewControllerTest : public ::testing::Test {
|
| + protected:
|
| + virtual void SetUp() OVERRIDE {
|
| + controller_ = [[HostListViewController alloc] init];
|
| + SetHostByCount(1);
|
| + }
|
| +
|
| + void SetHostByCount(int numHosts) {
|
| + NSArray* array =
|
| + [Host parseListFromJSON:HostRefreshTestHelper::GetHostList(numHosts)];
|
| + RefreshHostList(array);
|
| + }
|
| +
|
| + void SetHostByString(NSString* string) {
|
| + NSArray* array =
|
| + [Host parseListFromJSON:HostRefreshTestHelper::GetHostList(string)];
|
| + RefreshHostList(array);
|
| + }
|
| +
|
| + void RefreshHostList(NSArray* array) {
|
| + [controller_ hostListRefresh:array errorMessage:nil];
|
| + }
|
| +
|
| + HostListViewController* controller_;
|
| +};
|
| +
|
| +TEST_F(HostListViewControllerTest, DefaultAuthorization) {
|
| + ASSERT_TRUE(controller_.authorization == nil);
|
| +
|
| + [controller_ viewWillAppear:YES];
|
| +
|
| + ASSERT_TRUE(controller_.authorization != nil);
|
| +}
|
| +
|
| +TEST_F(HostListViewControllerTest, hostListRefresh) {
|
| + SetHostByCount(2);
|
| + ASSERT_EQ(2, [controller_ tableView:nil numberOfRowsInSection:0]);
|
| +
|
| + SetHostByCount(10);
|
| + ASSERT_EQ(10, [controller_ tableView:nil numberOfRowsInSection:0]);
|
| +}
|
| +
|
| +TEST_F(HostListViewControllerTest,
|
| + ShouldPerformSegueWithIdentifierOfConnectToHost) {
|
| + ASSERT_FALSE([controller_ shouldPerformSegueWithIdentifier:@"ConnectToHost"
|
| + sender:nil]);
|
| +
|
| + NSString* host = HostRefreshTestHelper::GetMultipleHosts(1);
|
| + host = [host stringByReplacingOccurrencesOfString:@"TESTING"
|
| + withString:@"ONLINE"];
|
| + SetHostByString(host);
|
| + ASSERT_TRUE([controller_ shouldPerformSegueWithIdentifier:@"ConnectToHost"
|
| + sender:nil]);
|
| +}
|
| +
|
| +TEST_F(HostListViewControllerTest, prepareSegueWithIdentifierOfConnectToHost) {
|
| + HostViewController* destination = [[HostViewController alloc] init];
|
| +
|
| + ASSERT_NSNE(HostRefreshTestHelper::HostNameTest, destination.host.hostName);
|
| +
|
| + UIStoryboardSegue* seque =
|
| + [[UIStoryboardSegue alloc] initWithIdentifier:@"ConnectToHost"
|
| + source:controller_
|
| + destination:destination];
|
| +
|
| + [controller_ prepareForSegue:seque sender:nil];
|
| +
|
| + ASSERT_NSEQ(HostRefreshTestHelper::HostNameTest, destination.host.hostName);
|
| +}
|
| +
|
| +} // namespace remoting
|
|
|