OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 "chrome/app/chrome_dll_resource.h" | 5 #include "chrome/app/chrome_dll_resource.h" |
6 #include "chrome/test/automated_ui_tests/automated_ui_test_base.h" | 6 #include "chrome/test/automated_ui_tests/automated_ui_test_base.h" |
7 #include "chrome/test/automation/browser_proxy.h" | 7 #include "chrome/test/automation/browser_proxy.h" |
8 #include "chrome/test/automation/tab_proxy.h" | 8 #include "chrome/test/automation/tab_proxy.h" |
9 #include "chrome/test/ui/ui_test.h" | 9 #include "chrome/test/ui/ui_test.h" |
10 #include "googleurl/src/gurl.h" | 10 #include "googleurl/src/gurl.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 ASSERT_EQ(1, tab_count); | 70 ASSERT_EQ(1, tab_count); |
71 RestoreTab(); | 71 RestoreTab(); |
72 active_browser()->GetTabCount(&tab_count); | 72 active_browser()->GetTabCount(&tab_count); |
73 ASSERT_EQ(2, tab_count); | 73 ASSERT_EQ(2, tab_count); |
74 } | 74 } |
75 | 75 |
76 TEST_F(AutomatedUITestBase, MAYBE_CloseTab) { | 76 TEST_F(AutomatedUITestBase, MAYBE_CloseTab) { |
77 int num_browser_windows; | 77 int num_browser_windows; |
78 int tab_count; | 78 int tab_count; |
79 NewTab(); | 79 NewTab(); |
80 automation()->GetBrowserWindowCount(&num_browser_windows); | 80 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
81 ASSERT_EQ(1, num_browser_windows); | 81 ASSERT_EQ(1, num_browser_windows); |
82 active_browser()->GetTabCount(&tab_count); | 82 active_browser()->GetTabCount(&tab_count); |
83 ASSERT_EQ(2, tab_count); | 83 ASSERT_EQ(2, tab_count); |
84 | 84 |
85 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); | 85 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); |
86 NewTab(); | 86 NewTab(); |
87 NewTab(); | 87 NewTab(); |
88 active_browser()->GetTabCount(&tab_count); | 88 active_browser()->GetTabCount(&tab_count); |
89 ASSERT_EQ(3, tab_count); | 89 ASSERT_EQ(3, tab_count); |
90 automation()->GetBrowserWindowCount(&num_browser_windows); | 90 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
91 ASSERT_EQ(2, num_browser_windows); | 91 ASSERT_EQ(2, num_browser_windows); |
92 | 92 |
93 ASSERT_TRUE(CloseActiveTab()); | 93 ASSERT_TRUE(CloseActiveTab()); |
94 active_browser()->GetTabCount(&tab_count); | 94 active_browser()->GetTabCount(&tab_count); |
95 ASSERT_EQ(2, tab_count); | 95 ASSERT_EQ(2, tab_count); |
96 ASSERT_TRUE(CloseActiveTab()); | 96 ASSERT_TRUE(CloseActiveTab()); |
97 active_browser()->GetTabCount(&tab_count); | 97 active_browser()->GetTabCount(&tab_count); |
98 ASSERT_EQ(1, tab_count); | 98 ASSERT_EQ(1, tab_count); |
99 num_browser_windows = 0; | 99 num_browser_windows = 0; |
100 automation()->GetBrowserWindowCount(&num_browser_windows); | 100 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
101 ASSERT_EQ(2, num_browser_windows); | 101 ASSERT_EQ(2, num_browser_windows); |
102 | 102 |
103 // The browser window is closed by closing this tab. | 103 // The browser window is closed by closing this tab. |
104 ASSERT_TRUE(CloseActiveTab()); | 104 ASSERT_TRUE(CloseActiveTab()); |
105 automation()->GetBrowserWindowCount(&num_browser_windows); | 105 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
106 ASSERT_EQ(1, num_browser_windows); | 106 ASSERT_EQ(1, num_browser_windows); |
107 // Active_browser_ is now the first created window. | 107 // Active_browser_ is now the first created window. |
108 active_browser()->GetTabCount(&tab_count); | 108 active_browser()->GetTabCount(&tab_count); |
109 ASSERT_EQ(2, tab_count); | 109 ASSERT_EQ(2, tab_count); |
110 ASSERT_TRUE(CloseActiveTab()); | 110 ASSERT_TRUE(CloseActiveTab()); |
111 active_browser()->GetTabCount(&tab_count); | 111 active_browser()->GetTabCount(&tab_count); |
112 ASSERT_EQ(1, tab_count); | 112 ASSERT_EQ(1, tab_count); |
113 | 113 |
114 // The last tab should not be closed. | 114 // The last tab should not be closed. |
115 ASSERT_FALSE(CloseActiveTab()); | 115 ASSERT_FALSE(CloseActiveTab()); |
116 active_browser()->GetTabCount(&tab_count); | 116 active_browser()->GetTabCount(&tab_count); |
117 ASSERT_EQ(1, tab_count); | 117 ASSERT_EQ(1, tab_count); |
118 } | 118 } |
119 | 119 |
120 TEST_F(AutomatedUITestBase, OpenBrowserWindow) { | 120 TEST_F(AutomatedUITestBase, OpenBrowserWindow) { |
121 int num_browser_windows; | 121 int num_browser_windows; |
122 int tab_count; | 122 int tab_count; |
123 automation()->GetBrowserWindowCount(&num_browser_windows); | 123 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
124 ASSERT_EQ(1, num_browser_windows); | 124 ASSERT_EQ(1, num_browser_windows); |
125 active_browser()->GetTabCount(&tab_count); | 125 active_browser()->GetTabCount(&tab_count); |
126 ASSERT_EQ(1, tab_count); | 126 ASSERT_EQ(1, tab_count); |
127 | 127 |
128 scoped_refptr<BrowserProxy> browser_1; | 128 scoped_refptr<BrowserProxy> browser_1; |
129 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_1)); | 129 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_1)); |
130 automation()->GetBrowserWindowCount(&num_browser_windows); | 130 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
131 ASSERT_EQ(2, num_browser_windows); | 131 ASSERT_EQ(2, num_browser_windows); |
132 active_browser()->GetTabCount(&tab_count); | 132 active_browser()->GetTabCount(&tab_count); |
133 ASSERT_EQ(1, tab_count); | 133 ASSERT_EQ(1, tab_count); |
134 NewTab(); | 134 NewTab(); |
135 browser_1->GetTabCount(&tab_count); | 135 browser_1->GetTabCount(&tab_count); |
136 ASSERT_EQ(1, tab_count); | 136 ASSERT_EQ(1, tab_count); |
137 active_browser()->GetTabCount(&tab_count); | 137 active_browser()->GetTabCount(&tab_count); |
138 ASSERT_EQ(2, tab_count); | 138 ASSERT_EQ(2, tab_count); |
139 | 139 |
140 scoped_refptr<BrowserProxy> browser_2; | 140 scoped_refptr<BrowserProxy> browser_2; |
141 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_2)); | 141 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(&browser_2)); |
142 automation()->GetBrowserWindowCount(&num_browser_windows); | 142 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
143 ASSERT_EQ(3, num_browser_windows); | 143 ASSERT_EQ(3, num_browser_windows); |
144 active_browser()->GetTabCount(&tab_count); | 144 active_browser()->GetTabCount(&tab_count); |
145 ASSERT_EQ(1, tab_count); | 145 ASSERT_EQ(1, tab_count); |
146 NewTab(); | 146 NewTab(); |
147 NewTab(); | 147 NewTab(); |
148 browser_1->GetTabCount(&tab_count); | 148 browser_1->GetTabCount(&tab_count); |
149 ASSERT_EQ(1, tab_count); | 149 ASSERT_EQ(1, tab_count); |
150 browser_2->GetTabCount(&tab_count); | 150 browser_2->GetTabCount(&tab_count); |
151 ASSERT_EQ(2, tab_count); | 151 ASSERT_EQ(2, tab_count); |
152 active_browser()->GetTabCount(&tab_count); | 152 active_browser()->GetTabCount(&tab_count); |
153 ASSERT_EQ(3, tab_count); | 153 ASSERT_EQ(3, tab_count); |
154 | 154 |
155 bool application_closed; | 155 bool application_closed; |
156 CloseBrowser(browser_1.get(), &application_closed); | 156 CloseBrowser(browser_1.get(), &application_closed); |
157 ASSERT_FALSE(application_closed); | 157 ASSERT_FALSE(application_closed); |
158 automation()->GetBrowserWindowCount(&num_browser_windows); | 158 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
159 ASSERT_EQ(2, num_browser_windows); | 159 ASSERT_EQ(2, num_browser_windows); |
160 CloseBrowser(browser_2.get(), &application_closed); | 160 CloseBrowser(browser_2.get(), &application_closed); |
161 ASSERT_FALSE(application_closed); | 161 ASSERT_FALSE(application_closed); |
162 automation()->GetBrowserWindowCount(&num_browser_windows); | 162 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
163 ASSERT_EQ(1, num_browser_windows); | 163 ASSERT_EQ(1, num_browser_windows); |
164 } | 164 } |
165 | 165 |
166 TEST_F(AutomatedUITestBase, MAYBE_CloseBrowserWindow) { | 166 TEST_F(AutomatedUITestBase, MAYBE_CloseBrowserWindow) { |
167 int tab_count; | 167 int tab_count; |
168 NewTab(); | 168 NewTab(); |
169 active_browser()->GetTabCount(&tab_count); | 169 active_browser()->GetTabCount(&tab_count); |
170 ASSERT_EQ(2, tab_count); | 170 ASSERT_EQ(2, tab_count); |
171 | 171 |
172 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); | 172 ASSERT_TRUE(OpenAndActivateNewBrowserWindow(NULL)); |
(...skipping 22 matching lines...) Expand all Loading... |
195 active_browser()->GetTabCount(&tab_count); | 195 active_browser()->GetTabCount(&tab_count); |
196 ASSERT_EQ(2, tab_count); | 196 ASSERT_EQ(2, tab_count); |
197 } | 197 } |
198 | 198 |
199 ASSERT_FALSE(CloseActiveWindow()); | 199 ASSERT_FALSE(CloseActiveWindow()); |
200 } | 200 } |
201 | 201 |
202 TEST_F(AutomatedUITestBase, MAYBE_IncognitoWindow) { | 202 TEST_F(AutomatedUITestBase, MAYBE_IncognitoWindow) { |
203 int num_browser_windows; | 203 int num_browser_windows; |
204 int num_normal_browser_windows; | 204 int num_normal_browser_windows; |
205 automation()->GetBrowserWindowCount(&num_browser_windows); | 205 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
206 ASSERT_EQ(1, num_browser_windows); | 206 ASSERT_EQ(1, num_browser_windows); |
207 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); | 207 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); |
208 ASSERT_EQ(1, num_normal_browser_windows); | 208 ASSERT_EQ(1, num_normal_browser_windows); |
209 | 209 |
210 ASSERT_TRUE(GoOffTheRecord()); | 210 ASSERT_TRUE(GoOffTheRecord()); |
211 ASSERT_TRUE(GoOffTheRecord()); | 211 ASSERT_TRUE(GoOffTheRecord()); |
212 automation()->GetBrowserWindowCount(&num_browser_windows); | 212 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
213 ASSERT_EQ(3, num_browser_windows); | 213 ASSERT_EQ(3, num_browser_windows); |
214 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); | 214 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); |
215 ASSERT_EQ(1, num_normal_browser_windows); | 215 ASSERT_EQ(1, num_normal_browser_windows); |
216 | 216 |
217 // There is only one normal window so it will not be closed. | 217 // There is only one normal window so it will not be closed. |
218 ASSERT_FALSE(CloseActiveWindow()); | 218 ASSERT_FALSE(CloseActiveWindow()); |
219 automation()->GetBrowserWindowCount(&num_browser_windows); | 219 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
220 ASSERT_EQ(3, num_browser_windows); | 220 ASSERT_EQ(3, num_browser_windows); |
221 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); | 221 automation()->GetNormalBrowserWindowCount(&num_normal_browser_windows); |
222 ASSERT_EQ(1, num_normal_browser_windows); | 222 ASSERT_EQ(1, num_normal_browser_windows); |
223 | 223 |
224 set_active_browser(automation()->GetBrowserWindow(0)); | 224 set_active_browser(automation()->GetBrowserWindow(0)); |
225 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 225 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
226 set_active_browser(automation()->GetBrowserWindow(0)); | 226 set_active_browser(automation()->GetBrowserWindow(0)); |
227 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 227 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
228 automation()->GetBrowserWindowCount(&num_browser_windows); | 228 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
229 ASSERT_EQ(1, num_browser_windows); | 229 ASSERT_EQ(1, num_browser_windows); |
230 } | 230 } |
231 | 231 |
232 TEST_F(AutomatedUITestBase, MAYBE_OpenCloseBrowserWindowWithAccelerator) { | 232 TEST_F(AutomatedUITestBase, MAYBE_OpenCloseBrowserWindowWithAccelerator) { |
233 // Note: we don't use RunCommand(IDC_OPEN/CLOSE_WINDOW) to open/close | 233 // Note: we don't use RunCommand(IDC_OPEN/CLOSE_WINDOW) to open/close |
234 // browser window in automated ui tests. Instead we use | 234 // browser window in automated ui tests. Instead we use |
235 // OpenAndActivateNewBrowserWindow and CloseActiveWindow. | 235 // OpenAndActivateNewBrowserWindow and CloseActiveWindow. |
236 // There are other parts of UI test that use the accelerators. This is | 236 // There are other parts of UI test that use the accelerators. This is |
237 // a unit test for those usage. | 237 // a unit test for those usage. |
238 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 238 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
239 int num_browser_windows; | 239 int num_browser_windows; |
240 automation()->GetBrowserWindowCount(&num_browser_windows); | 240 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
241 ASSERT_EQ(2, num_browser_windows); | 241 ASSERT_EQ(2, num_browser_windows); |
242 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 242 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
243 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 243 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
244 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 244 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
245 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 245 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
246 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); | 246 ASSERT_TRUE(RunCommand(IDC_NEW_WINDOW)); |
247 automation()->GetBrowserWindowCount(&num_browser_windows); | 247 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
248 ASSERT_EQ(7, num_browser_windows); | 248 ASSERT_EQ(7, num_browser_windows); |
249 | 249 |
250 set_active_browser(automation()->GetBrowserWindow(0)); | 250 set_active_browser(automation()->GetBrowserWindow(0)); |
251 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 251 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
252 automation()->GetBrowserWindowCount(&num_browser_windows); | 252 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
253 ASSERT_EQ(6, num_browser_windows); | 253 ASSERT_EQ(6, num_browser_windows); |
254 set_active_browser(automation()->GetBrowserWindow(0)); | 254 set_active_browser(automation()->GetBrowserWindow(0)); |
255 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 255 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
256 set_active_browser(automation()->GetBrowserWindow(0)); | 256 set_active_browser(automation()->GetBrowserWindow(0)); |
257 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 257 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
258 set_active_browser(automation()->GetBrowserWindow(0)); | 258 set_active_browser(automation()->GetBrowserWindow(0)); |
259 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 259 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
260 set_active_browser(automation()->GetBrowserWindow(0)); | 260 set_active_browser(automation()->GetBrowserWindow(0)); |
261 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 261 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
262 set_active_browser(automation()->GetBrowserWindow(0)); | 262 set_active_browser(automation()->GetBrowserWindow(0)); |
263 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); | 263 ASSERT_TRUE(RunCommand(IDC_CLOSE_WINDOW)); |
264 automation()->GetBrowserWindowCount(&num_browser_windows); | 264 ASSERT_TRUE(automation()->GetBrowserWindowCount(&num_browser_windows)); |
265 ASSERT_EQ(1, num_browser_windows); | 265 ASSERT_EQ(1, num_browser_windows); |
266 } | 266 } |
267 | 267 |
268 TEST_F(AutomatedUITestBase, Navigate) { | 268 TEST_F(AutomatedUITestBase, Navigate) { |
269 FilePath path_prefix(test_data_directory_.AppendASCII("session_history")); | 269 FilePath path_prefix(test_data_directory_.AppendASCII("session_history")); |
270 GURL url1(net::FilePathToFileURL(path_prefix.AppendASCII("bot1.html"))); | 270 GURL url1(net::FilePathToFileURL(path_prefix.AppendASCII("bot1.html"))); |
271 GURL url2(net::FilePathToFileURL(path_prefix.AppendASCII("bot2.html"))); | 271 GURL url2(net::FilePathToFileURL(path_prefix.AppendASCII("bot2.html"))); |
272 GURL url3(net::FilePathToFileURL(path_prefix.AppendASCII("bot3.html"))); | 272 GURL url3(net::FilePathToFileURL(path_prefix.AppendASCII("bot3.html"))); |
273 GURL url; | 273 GURL url; |
274 ASSERT_TRUE(Navigate(url1)); | 274 ASSERT_TRUE(Navigate(url1)); |
(...skipping 11 matching lines...) Expand all Loading... |
286 ASSERT_TRUE(BackButton()); | 286 ASSERT_TRUE(BackButton()); |
287 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); | 287 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); |
288 ASSERT_EQ(url1, url); | 288 ASSERT_EQ(url1, url); |
289 ASSERT_TRUE(ForwardButton()); | 289 ASSERT_TRUE(ForwardButton()); |
290 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); | 290 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); |
291 ASSERT_EQ(url2, url); | 291 ASSERT_EQ(url2, url); |
292 ASSERT_TRUE(ReloadPage()); | 292 ASSERT_TRUE(ReloadPage()); |
293 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); | 293 ASSERT_TRUE(GetActiveTab()->GetCurrentURL(&url)); |
294 ASSERT_EQ(url2, url); | 294 ASSERT_EQ(url2, url); |
295 } | 295 } |
OLD | NEW |