Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1787)

Unified Diff: remoting/ios/ui/host_list_view_controller_unittest.mm

Issue 278863003: Chromoting iOS client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/ios/ui/host_list_view_controller.mm ('k') | remoting/ios/ui/host_view_controller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « remoting/ios/ui/host_list_view_controller.mm ('k') | remoting/ios/ui/host_view_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698