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

Side by Side Diff: chrome/browser/views/tabs/tab_dragging_test.cc

Issue 1576008: Enable interactive_ui_tests (Closed)
Patch Set: include Created 10 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/file_util.h" 6 #include "base/file_util.h"
7 #include "chrome/app/chrome_dll_resource.h" 7 #include "chrome/app/chrome_dll_resource.h"
8 #include "chrome/browser/view_ids.h" 8 #include "chrome/browser/view_ids.h"
9 #include "chrome/common/chrome_paths.h" 9 #include "chrome/common/chrome_paths.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/pref_names.h" 11 #include "chrome/common/pref_names.h"
12 #include "chrome/test/automation/tab_proxy.h" 12 #include "chrome/test/automation/tab_proxy.h"
13 #include "chrome/test/automation/browser_proxy.h" 13 #include "chrome/test/automation/browser_proxy.h"
14 #include "chrome/test/automation/window_proxy.h" 14 #include "chrome/test/automation/window_proxy.h"
15 #include "chrome/test/ui/ui_test.h" 15 #include "chrome/test/ui/ui_test.h"
16 #include "gfx/rect.h" 16 #include "gfx/rect.h"
17 #include "googleurl/src/gurl.h" 17 #include "googleurl/src/gurl.h"
18 #include "net/base/net_util.h" 18 #include "net/base/net_util.h"
19 #include "views/event.h" 19 #include "views/event.h"
20 20
21 #if defined(OS_CHROMEOS)
22 // Disabled, see http://crbug.com/40043.
23 #define MAYBE_Tab2OutOfTabStrip DISABLED_Tab2OutOfTabStrip
24 #define MAYBE_Tab1Tab3Escape DISABLED_Tab1Tab3Escape
25
26 #else
27 #define MAYBE_Tab2OutOfTabStrip Tab2OutOfTabStrip
28
29 // Flaky, see http://crbug.com/21092.
30 #define MAYBE_Tab1Tab3Escape FLAKY_Tab1Tab3Escape
31
32 #endif
33
21 34
22 class TabDraggingTest : public UITest { 35 class TabDraggingTest : public UITest {
23 protected: 36 protected:
24 TabDraggingTest() { 37 TabDraggingTest() {
25 show_window_ = true; 38 show_window_ = true;
26 } 39 }
27 }; 40 };
28 41
29 // Automated UI test to open three tabs in a new window, and drag Tab_1 into 42 // Automated UI test to open three tabs in a new window, and drag Tab_1 into
30 // the position of Tab_2. 43 // the position of Tab_2.
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 98
86 // Get url Bar bounds. 99 // Get url Bar bounds.
87 gfx::Rect urlbar_bounds; 100 gfx::Rect urlbar_bounds;
88 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds, 101 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds,
89 false)); 102 false));
90 EXPECT_LT(0, urlbar_bounds.x()); 103 EXPECT_LT(0, urlbar_bounds.x());
91 EXPECT_LT(0, urlbar_bounds.y()); 104 EXPECT_LT(0, urlbar_bounds.y());
92 EXPECT_LT(0, urlbar_bounds.width()); 105 EXPECT_LT(0, urlbar_bounds.width());
93 EXPECT_LT(0, urlbar_bounds.height()); 106 EXPECT_LT(0, urlbar_bounds.height());
94 107
95 // TEST: Move Tab_1 to the position of Tab_2 108 /*
96 // ____________ ____________ ____________ 109 TEST: Move Tab_1 to the position of Tab_2
97 // / \ / \ / \ 110 ____________ ____________ ____________
98 // | Tab_1 | Tab_2 | Tab_3 | 111 / \ / \ / \
99 // ---- ---- ---- ---- ---- ---- ---- ---- ---- 112 | Tab_1 | Tab_2 | Tab_3 |
100 // x---- ----> 113 ---- ---- ---- ---- ---- ---- ---- ---- ----
101 // ____________ 114 x---- ---->
102 // / X \ 115 ____________
103 // | Tab_1 | 116 / X \
104 // ---- ---- ---- 117 | Tab_1 |
118 ---- ---- ----
119 */
105 120
106 gfx::Point start(bounds1.x() + bounds1.width() / 2, 121 gfx::Point start(bounds1.x() + bounds1.width() / 2,
107 bounds1.y() + bounds1.height() / 2); 122 bounds1.y() + bounds1.height() / 2);
108 gfx::Point end(start.x() + 2 * bounds1.width() / 3, start.y()); 123 gfx::Point end(start.x() + 2 * bounds1.width() / 3, start.y());
109 ASSERT_TRUE(browser->SimulateDrag(start, end, 124 ASSERT_TRUE(browser->SimulateDrag(start, end,
110 views::Event::EF_LEFT_BUTTON_DOWN, 125 views::Event::EF_LEFT_BUTTON_DOWN,
111 false)); 126 false));
112 127
113 // Now check for expected results. 128 // Now check for expected results.
114 tab1 = browser->GetTab(0); 129 tab1 = browser->GetTab(0);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 198
184 // Get url Bar bounds. 199 // Get url Bar bounds.
185 gfx::Rect urlbar_bounds; 200 gfx::Rect urlbar_bounds;
186 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds, 201 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds,
187 false)); 202 false));
188 EXPECT_LT(0, urlbar_bounds.x()); 203 EXPECT_LT(0, urlbar_bounds.x());
189 EXPECT_LT(0, urlbar_bounds.y()); 204 EXPECT_LT(0, urlbar_bounds.y());
190 EXPECT_LT(0, urlbar_bounds.width()); 205 EXPECT_LT(0, urlbar_bounds.width());
191 EXPECT_LT(0, urlbar_bounds.height()); 206 EXPECT_LT(0, urlbar_bounds.height());
192 207
193 // TEST: Move Tab_1 to the middle position of Tab_3 208 /*
194 // ____________ ____________ ____________ 209 TEST: Move Tab_1 to the middle position of Tab_3
195 // / \ / \ / \ 210 ____________ ____________ ____________
196 // | Tab_1 | Tab_2 | Tab_3 | 211 / \ / \ / \
197 // ---- ---- ---- ---- ---- ---- ---- ---- ---- 212 | Tab_1 | Tab_2 | Tab_3 |
198 // x---- ---- ---- ---- ---- ----> 213 ---- ---- ---- ---- ---- ---- ---- ---- ----
199 // ____________ 214 x---- ---- ---- ---- ---- ---->
200 // / X \ 215 ____________
201 // | Tab_1 | 216 / X \
202 // ---- ---- ---- 217 | Tab_1 |
218 ---- ---- ----
219 */
203 220
204 gfx::Point start(bounds1.x() + bounds1.width() / 2, 221 gfx::Point start(bounds1.x() + bounds1.width() / 2,
205 bounds1.y() + bounds1.height() / 2); 222 bounds1.y() + bounds1.height() / 2);
206 gfx::Point end(start.x() + bounds1.width() / 2 + bounds2.width() + 223 gfx::Point end(start.x() + bounds1.width() / 2 + bounds2.width() +
207 bounds3.width() / 2, 224 bounds3.width() / 2,
208 start.y()); 225 start.y());
209 ASSERT_TRUE(browser->SimulateDrag(start, end, 226 ASSERT_TRUE(browser->SimulateDrag(start, end,
210 views::Event::EF_LEFT_BUTTON_DOWN, 227 views::Event::EF_LEFT_BUTTON_DOWN,
211 false)); 228 false));
212 229
(...skipping 13 matching lines...) Expand all
226 GURL tab3_new_url; 243 GURL tab3_new_url;
227 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); 244 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url));
228 245
229 EXPECT_EQ(tab1_new_url.spec(), tab2_url.spec()); 246 EXPECT_EQ(tab1_new_url.spec(), tab2_url.spec());
230 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec()); 247 EXPECT_EQ(tab2_new_url.spec(), tab3_url.spec());
231 EXPECT_EQ(tab3_new_url.spec(), tab1_url.spec()); 248 EXPECT_EQ(tab3_new_url.spec(), tab1_url.spec());
232 } 249 }
233 250
234 // Drag Tab_1 into the position of Tab_3, and press ESCAPE before releasing the 251 // Drag Tab_1 into the position of Tab_3, and press ESCAPE before releasing the
235 // left mouse button. 252 // left mouse button.
236 // Flaky, see http://crbug.com/21092. 253 TEST_F(TabDraggingTest, MAYBE_Tab1Tab3Escape) {
237 TEST_F(TabDraggingTest, FLAKY_Tab1Tab3Escape) {
238 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 254 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
239 ASSERT_TRUE(browser.get()); 255 ASSERT_TRUE(browser.get());
240 scoped_refptr<WindowProxy> window(browser->GetWindow()); 256 scoped_refptr<WindowProxy> window(browser->GetWindow());
241 ASSERT_TRUE(window.get()); 257 ASSERT_TRUE(window.get());
242 258
243 // Get initial tab count. 259 // Get initial tab count.
244 int initial_tab_count = 0; 260 int initial_tab_count = 0;
245 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); 261 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count));
246 ASSERT_TRUE(1 == initial_tab_count); 262 ASSERT_TRUE(1 == initial_tab_count);
247 263
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 306
291 // Get url Bar bounds. 307 // Get url Bar bounds.
292 gfx::Rect urlbar_bounds; 308 gfx::Rect urlbar_bounds;
293 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds, 309 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds,
294 false)); 310 false));
295 EXPECT_LT(0, urlbar_bounds.x()); 311 EXPECT_LT(0, urlbar_bounds.x());
296 EXPECT_LT(0, urlbar_bounds.y()); 312 EXPECT_LT(0, urlbar_bounds.y());
297 EXPECT_LT(0, urlbar_bounds.width()); 313 EXPECT_LT(0, urlbar_bounds.width());
298 EXPECT_LT(0, urlbar_bounds.height()); 314 EXPECT_LT(0, urlbar_bounds.height());
299 315
300 // TEST: Move Tab_1 to the middle position of Tab_3 316 /*
301 // ____________ ____________ ____________ 317 TEST: Move Tab_1 to the middle position of Tab_3
302 // / \ / \ / \ 318 ____________ ____________ ____________
303 // | Tab_1 | Tab_2 | Tab_3 | 319 / \ / \ / \
304 // ---- ---- ---- ---- ---- ---- ---- ---- ---- 320 | Tab_1 | Tab_2 | Tab_3 |
305 // x---- ---- ---- ---- ---- ----> + ESCAPE 321 ---- ---- ---- ---- ---- ---- ---- ---- ----
306 // ____________ 322 x---- ---- ---- ---- ---- ----> + ESCAPE
307 // / X \ 323 ____________
308 // | Tab_1 | 324 / X \
309 // ---- ---- ---- 325 | Tab_1 |
326 ---- ---- ----
327 */
310 328
311 gfx::Point start(bounds1.x() + bounds1.width() / 2, 329 gfx::Point start(bounds1.x() + bounds1.width() / 2,
312 bounds1.y() + bounds1.height() / 2); 330 bounds1.y() + bounds1.height() / 2);
313 gfx::Point end(start.x() + bounds1.width() / 2 + bounds2.width() + 331 gfx::Point end(start.x() + bounds1.width() / 2 + bounds2.width() +
314 bounds3.width() / 2, 332 bounds3.width() / 2,
315 start.y()); 333 start.y());
316 334
317 // Simulate drag with 'true' as the last parameter. This will interrupt 335 // Simulate drag with 'true' as the last parameter. This will interrupt
318 // in-flight with Escape. 336 // in-flight with Escape.
319 ASSERT_TRUE(browser->SimulateDrag(start, end, 337 ASSERT_TRUE(browser->SimulateDrag(start, end,
(...skipping 16 matching lines...) Expand all
336 GURL tab3_new_url; 354 GURL tab3_new_url;
337 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url)); 355 ASSERT_TRUE(tab3->GetCurrentURL(&tab3_new_url));
338 356
339 // The tabs should be in their original positions. 357 // The tabs should be in their original positions.
340 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec()); 358 EXPECT_EQ(tab1_new_url.spec(), tab1_url.spec());
341 EXPECT_EQ(tab2_new_url.spec(), tab2_url.spec()); 359 EXPECT_EQ(tab2_new_url.spec(), tab2_url.spec());
342 EXPECT_EQ(tab3_new_url.spec(), tab3_url.spec()); 360 EXPECT_EQ(tab3_new_url.spec(), tab3_url.spec());
343 } 361 }
344 362
345 // Drag Tab_2 out of the Tab strip. A new window should open with this tab. 363 // Drag Tab_2 out of the Tab strip. A new window should open with this tab.
346 TEST_F(TabDraggingTest, Tab2OutOfTabStrip) { 364 TEST_F(TabDraggingTest, MAYBE_Tab2OutOfTabStrip) {
347 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); 365 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0));
348 ASSERT_TRUE(browser.get()); 366 ASSERT_TRUE(browser.get());
349 scoped_refptr<WindowProxy> window(browser->GetWindow()); 367 scoped_refptr<WindowProxy> window(browser->GetWindow());
350 ASSERT_TRUE(window.get()); 368 ASSERT_TRUE(window.get());
351 369
352 // Get initial tab count. 370 // Get initial tab count.
353 int initial_tab_count = 0; 371 int initial_tab_count = 0;
354 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count)); 372 ASSERT_TRUE(browser->GetTabCount(&initial_tab_count));
355 ASSERT_TRUE(1 == initial_tab_count); 373 ASSERT_TRUE(1 == initial_tab_count);
356 374
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 422
405 // Get url Bar bounds. 423 // Get url Bar bounds.
406 gfx::Rect urlbar_bounds; 424 gfx::Rect urlbar_bounds;
407 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds, 425 ASSERT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &urlbar_bounds,
408 false)); 426 false));
409 EXPECT_LT(0, urlbar_bounds.x()); 427 EXPECT_LT(0, urlbar_bounds.x());
410 EXPECT_LT(0, urlbar_bounds.y()); 428 EXPECT_LT(0, urlbar_bounds.y());
411 EXPECT_LT(0, urlbar_bounds.width()); 429 EXPECT_LT(0, urlbar_bounds.width());
412 EXPECT_LT(0, urlbar_bounds.height()); 430 EXPECT_LT(0, urlbar_bounds.height());
413 431
414 // TEST: Move Tab_2 down, out of the tab strip. 432 /*
415 // This should result in the following: 433 TEST: Move Tab_2 down, out of the tab strip.
416 // 1- Tab_3 shift left in place of Tab_2 in Window 1 434 This should result in the following:
417 // 2- Tab_1 to remain in its place 435 1- Tab_3 shift left in place of Tab_2 in Window 1
418 // 3- Tab_2 openes in a new window 436 2- Tab_1 to remain in its place
419 // 437 3- Tab_2 openes in a new window
420 // ____________ ____________ ____________ 438
421 // / \ / \ / \ 439 ____________ ____________ ____________
422 // | Tab_1 | Tab_2 | Tab_3 | 440 / \ / \ / \
423 // ---- ---- ---- ---- ---- ---- ---- ---- ---- 441 | Tab_1 | Tab_2 | Tab_3 |
424 // x 442 ---- ---- ---- ---- ---- ---- ---- ---- ----
425 // | 443 x
426 // | (Drag this below, out of tab strip) 444 |
427 // V 445 | (Drag this below, out of tab strip)
428 // ____________ 446 V
429 // / X \ 447 ____________
430 // | Tab_2 | (New Window) 448 / X \
431 // ---- ---- ---- ---- ---- ---- ---- 449 | Tab_2 | (New Window)
450 ---- ---- ---- ---- ---- ---- ----
451 */
432 452
433 gfx::Point start(bounds2.x() + bounds2.width() / 2, 453 gfx::Point start(bounds2.x() + bounds2.width() / 2,
434 bounds2.y() + bounds2.height() / 2); 454 bounds2.y() + bounds2.height() / 2);
435 gfx::Point end(start.x(), 455 gfx::Point end(start.x(),
436 start.y() + 3 * urlbar_bounds.height()); 456 start.y() + 3 * urlbar_bounds.height());
437 457
438 // Simulate tab drag. 458 // Simulate tab drag.
439 ASSERT_TRUE(browser->SimulateDrag(start, end, 459 ASSERT_TRUE(browser->SimulateDrag(start, end,
440 views::Event::EF_LEFT_BUTTON_DOWN, 460 views::Event::EF_LEFT_BUTTON_DOWN,
441 false)); 461 false));
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 scoped_refptr<TabProxy> tab1_2(browser2->GetTab(0)); 496 scoped_refptr<TabProxy> tab1_2(browser2->GetTab(0));
477 ASSERT_TRUE(tab1_2.get()); 497 ASSERT_TRUE(tab1_2.get());
478 GURL tab1_2_url; 498 GURL tab1_2_url;
479 ASSERT_TRUE(tab1_2->GetCurrentURL(&tab1_2_url)); 499 ASSERT_TRUE(tab1_2->GetCurrentURL(&tab1_2_url));
480 500
481 // Tab_1_2 of Window 2 should essentially be Tab_2 of Window 1. 501 // Tab_1_2 of Window 2 should essentially be Tab_2 of Window 1.
482 EXPECT_EQ(tab1_2_url.spec(), tab2_url.spec()); 502 EXPECT_EQ(tab1_2_url.spec(), tab2_url.spec());
483 EXPECT_NE(tab1_2_url.spec(), tab1_url.spec()); 503 EXPECT_NE(tab1_2_url.spec(), tab1_url.spec());
484 EXPECT_NE(tab1_2_url.spec(), tab3_url.spec()); 504 EXPECT_NE(tab1_2_url.spec(), tab3_url.spec());
485 } 505 }
OLDNEW
« no previous file with comments | « chrome/browser/views/find_bar_host_interactive_uitest.cc ('k') | chrome/test/interactive_ui/interactive_ui_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698