OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/debug/debugger.h" | 5 #include "base/debug/debugger.h" |
6 #include "base/memory/scoped_nsobject.h" | 6 #include "base/mac/scoped_nsobject.h" |
7 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 7 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
8 #import "chrome/browser/ui/cocoa/hyperlink_text_view.h" | 8 #import "chrome/browser/ui/cocoa/hyperlink_text_view.h" |
9 #import "chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.h" | 9 #import "chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.h" |
10 #import "chrome/browser/ui/cocoa/tab_contents/sad_tab_view.h" | 10 #import "chrome/browser/ui/cocoa/tab_contents/sad_tab_view.h" |
11 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 11 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
12 #include "chrome/test/base/testing_profile.h" | 12 #include "chrome/test/base/testing_profile.h" |
13 | 13 |
14 @interface SadTabView (ExposedForTesting) | 14 @interface SadTabView (ExposedForTesting) |
15 // Implementation is below. | 15 // Implementation is below. |
16 - (HyperlinkTextView*)helpTextView; | 16 - (HyperlinkTextView*)helpTextView; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 } | 68 } |
69 | 69 |
70 static bool link_clicked_; | 70 static bool link_clicked_; |
71 CocoaTestHelperWindow* test_window_; | 71 CocoaTestHelperWindow* test_window_; |
72 }; | 72 }; |
73 | 73 |
74 // static | 74 // static |
75 bool SadTabControllerTest::link_clicked_; | 75 bool SadTabControllerTest::link_clicked_; |
76 | 76 |
77 TEST_F(SadTabControllerTest, WithTabContents) { | 77 TEST_F(SadTabControllerTest, WithTabContents) { |
78 scoped_nsobject<SadTabController> controller(CreateController()); | 78 base::scoped_nsobject<SadTabController> controller(CreateController()); |
79 EXPECT_TRUE(controller); | 79 EXPECT_TRUE(controller); |
80 HyperlinkTextView* help = GetHelpTextView(controller); | 80 HyperlinkTextView* help = GetHelpTextView(controller); |
81 EXPECT_TRUE(help); | 81 EXPECT_TRUE(help); |
82 } | 82 } |
83 | 83 |
84 TEST_F(SadTabControllerTest, WithoutTabContents) { | 84 TEST_F(SadTabControllerTest, WithoutTabContents) { |
85 DeleteContents(); | 85 DeleteContents(); |
86 scoped_nsobject<SadTabController> controller(CreateController()); | 86 base::scoped_nsobject<SadTabController> controller(CreateController()); |
87 EXPECT_TRUE(controller); | 87 EXPECT_TRUE(controller); |
88 HyperlinkTextView* help = GetHelpTextView(controller); | 88 HyperlinkTextView* help = GetHelpTextView(controller); |
89 EXPECT_FALSE(help); | 89 EXPECT_FALSE(help); |
90 } | 90 } |
91 | 91 |
92 TEST_F(SadTabControllerTest, ClickOnLink) { | 92 TEST_F(SadTabControllerTest, ClickOnLink) { |
93 scoped_nsobject<SadTabController> controller(CreateController()); | 93 base::scoped_nsobject<SadTabController> controller(CreateController()); |
94 HyperlinkTextView* help = GetHelpTextView(controller); | 94 HyperlinkTextView* help = GetHelpTextView(controller); |
95 EXPECT_TRUE(help); | 95 EXPECT_TRUE(help); |
96 EXPECT_FALSE(link_clicked_); | 96 EXPECT_FALSE(link_clicked_); |
97 [help clickedOnLink:nil atIndex:0]; | 97 [help clickedOnLink:nil atIndex:0]; |
98 EXPECT_TRUE(link_clicked_); | 98 EXPECT_TRUE(link_clicked_); |
99 } | 99 } |
100 | 100 |
101 } // namespace | 101 } // namespace |
102 | 102 |
103 @implementation NSApplication (SadTabControllerUnitTest) | 103 @implementation NSApplication (SadTabControllerUnitTest) |
104 // Add handler for the openLearnMoreAboutCrashLink: action to NSApp for testing | 104 // Add handler for the openLearnMoreAboutCrashLink: action to NSApp for testing |
105 // purposes. Normally this would be sent up the responder tree correctly, but | 105 // purposes. Normally this would be sent up the responder tree correctly, but |
106 // since tests run in the background, key window and main window are never set | 106 // since tests run in the background, key window and main window are never set |
107 // on NSApplication. Adding it to NSApplication directly removes the need for | 107 // on NSApplication. Adding it to NSApplication directly removes the need for |
108 // worrying about what the current window with focus is. | 108 // worrying about what the current window with focus is. |
109 - (void)openLearnMoreAboutCrashLink:(id)sender { | 109 - (void)openLearnMoreAboutCrashLink:(id)sender { |
110 SadTabControllerTest::link_clicked_ = true; | 110 SadTabControllerTest::link_clicked_ = true; |
111 } | 111 } |
112 | 112 |
113 @end | 113 @end |
OLD | NEW |