| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 | 46 |
| 47 // testing::Test | 47 // testing::Test |
| 48 virtual void SetUp() OVERRIDE { | 48 virtual void SetUp() OVERRIDE { |
| 49 #if defined(USE_AURA) | 49 #if defined(USE_AURA) |
| 50 aura::Env::CreateInstance(true); | 50 aura::Env::CreateInstance(true); |
| 51 screen_.reset(aura::TestScreen::Create(gfx::Size())); | 51 screen_.reset(aura::TestScreen::Create(gfx::Size())); |
| 52 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); | 52 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, screen_.get()); |
| 53 #endif | 53 #endif |
| 54 | 54 |
| 55 emulator_.reset(new TouchEmulator(this)); | 55 emulator_.reset(new TouchEmulator(this)); |
| 56 emulator_->Enable(true /* allow_pinch */); | 56 emulator_->Enable(); |
| 57 } | 57 } |
| 58 | 58 |
| 59 virtual void TearDown() OVERRIDE { | 59 virtual void TearDown() OVERRIDE { |
| 60 emulator_->Disable(); | 60 emulator_->Disable(); |
| 61 EXPECT_EQ("", ExpectedEvents()); | 61 EXPECT_EQ("", ExpectedEvents()); |
| 62 | 62 |
| 63 #if defined(USE_AURA) | 63 #if defined(USE_AURA) |
| 64 aura::Env::DeleteInstance(); | 64 aura::Env::DeleteInstance(); |
| 65 screen_.reset(); | 65 screen_.reset(); |
| 66 #endif | 66 #endif |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 EXPECT_EQ("TouchMove GesturePinchBegin", ExpectedEvents()); | 339 EXPECT_EQ("TouchMove GesturePinchBegin", ExpectedEvents()); |
| 340 | 340 |
| 341 // Disable while pinch is in progress. | 341 // Disable while pinch is in progress. |
| 342 emulator()->Disable(); | 342 emulator()->Disable(); |
| 343 EXPECT_EQ("TouchCancel GesturePinchEnd GestureScrollEnd", ExpectedEvents()); | 343 EXPECT_EQ("TouchCancel GesturePinchEnd GestureScrollEnd", ExpectedEvents()); |
| 344 MouseUp(300, 200); | 344 MouseUp(300, 200); |
| 345 ReleaseShift(); | 345 ReleaseShift(); |
| 346 MouseMove(300, 300); | 346 MouseMove(300, 300); |
| 347 EXPECT_EQ("", ExpectedEvents()); | 347 EXPECT_EQ("", ExpectedEvents()); |
| 348 | 348 |
| 349 emulator()->Enable(true /* allow_pinch */); | 349 emulator()->Enable(); |
| 350 MouseDown(300, 300); | 350 MouseDown(300, 300); |
| 351 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); | 351 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); |
| 352 MouseDrag(300, 400); | 352 MouseDrag(300, 400); |
| 353 EXPECT_EQ( | 353 EXPECT_EQ( |
| 354 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate", | 354 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate", |
| 355 ExpectedEvents()); | 355 ExpectedEvents()); |
| 356 | 356 |
| 357 // Disable while scroll is in progress. | 357 // Disable while scroll is in progress. |
| 358 emulator()->Disable(); | 358 emulator()->Disable(); |
| 359 EXPECT_EQ("TouchCancel GestureScrollEnd", ExpectedEvents()); | 359 EXPECT_EQ("TouchCancel GestureScrollEnd", ExpectedEvents()); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 EXPECT_FALSE(SendMouseWheelEvent()); | 399 EXPECT_FALSE(SendMouseWheelEvent()); |
| 400 MouseUp(100, 200); | 400 MouseUp(100, 200); |
| 401 EXPECT_EQ("TouchEnd GestureShowPress GestureTap", ExpectedEvents()); | 401 EXPECT_EQ("TouchEnd GestureShowPress GestureTap", ExpectedEvents()); |
| 402 EXPECT_TRUE(SendMouseWheelEvent()); | 402 EXPECT_TRUE(SendMouseWheelEvent()); |
| 403 MouseDown(300, 200); | 403 MouseDown(300, 200); |
| 404 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); | 404 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); |
| 405 EXPECT_FALSE(SendMouseWheelEvent()); | 405 EXPECT_FALSE(SendMouseWheelEvent()); |
| 406 emulator()->Disable(); | 406 emulator()->Disable(); |
| 407 EXPECT_EQ("TouchCancel GestureTapCancel", ExpectedEvents()); | 407 EXPECT_EQ("TouchCancel GestureTapCancel", ExpectedEvents()); |
| 408 EXPECT_TRUE(SendMouseWheelEvent()); | 408 EXPECT_TRUE(SendMouseWheelEvent()); |
| 409 emulator()->Enable(true /* allow_pinch */); | 409 emulator()->Enable(); |
| 410 EXPECT_TRUE(SendMouseWheelEvent()); | 410 EXPECT_TRUE(SendMouseWheelEvent()); |
| 411 } | 411 } |
| 412 | 412 |
| 413 TEST_F(TouchEmulatorTest, MultipleTouchStreams) { | 413 TEST_F(TouchEmulatorTest, MultipleTouchStreams) { |
| 414 // Native stream should be blocked while emulated is active. | 414 // Native stream should be blocked while emulated is active. |
| 415 MouseMove(100, 200); | 415 MouseMove(100, 200); |
| 416 EXPECT_EQ("", ExpectedEvents()); | 416 EXPECT_EQ("", ExpectedEvents()); |
| 417 MouseDown(100, 200); | 417 MouseDown(100, 200); |
| 418 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); | 418 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); |
| 419 EXPECT_FALSE(TouchStart(10, 10, true)); | 419 EXPECT_FALSE(TouchStart(10, 10, true)); |
| 420 EXPECT_FALSE(TouchMove(20, 20, true)); | 420 EXPECT_FALSE(TouchMove(20, 20, true)); |
| 421 MouseUp(200, 200); | 421 MouseUp(200, 200); |
| 422 EXPECT_EQ( | 422 EXPECT_EQ( |
| 423 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate" | 423 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate" |
| 424 " TouchEnd GestureScrollEnd", | 424 " TouchEnd GestureScrollEnd", |
| 425 ExpectedEvents()); | 425 ExpectedEvents()); |
| 426 EXPECT_FALSE(TouchEnd(20, 20, true)); | 426 EXPECT_FALSE(TouchEnd(20, 20, true)); |
| 427 | 427 |
| 428 // Emulated stream should be blocked while native is active. | 428 // Emulated stream should be blocked while native is active. |
| 429 EXPECT_TRUE(TouchStart(10, 10, true)); | 429 EXPECT_TRUE(TouchStart(10, 10, true)); |
| 430 EXPECT_TRUE(TouchMove(20, 20, true)); | 430 EXPECT_TRUE(TouchMove(20, 20, true)); |
| 431 MouseDown(300, 200); | 431 MouseDown(300, 200); |
| 432 EXPECT_EQ("", ExpectedEvents()); | 432 EXPECT_EQ("", ExpectedEvents()); |
| 433 // Re-enabling in the middle of a touch sequence should not affect this. | 433 // Re-enabling in the middle of a touch sequence should not affect this. |
| 434 emulator()->Disable(); | 434 emulator()->Disable(); |
| 435 emulator()->Enable(true); | 435 emulator()->Enable(); |
| 436 MouseDrag(300, 300); | 436 MouseDrag(300, 300); |
| 437 EXPECT_EQ("", ExpectedEvents()); | 437 EXPECT_EQ("", ExpectedEvents()); |
| 438 MouseUp(300, 300); | 438 MouseUp(300, 300); |
| 439 EXPECT_EQ("", ExpectedEvents()); | 439 EXPECT_EQ("", ExpectedEvents()); |
| 440 EXPECT_TRUE(TouchEnd(20, 20, true)); | 440 EXPECT_TRUE(TouchEnd(20, 20, true)); |
| 441 EXPECT_EQ("", ExpectedEvents()); | 441 EXPECT_EQ("", ExpectedEvents()); |
| 442 | 442 |
| 443 // Late ack for TouchEnd should not mess things up. | 443 // Late ack for TouchEnd should not mess things up. |
| 444 EXPECT_TRUE(TouchStart(10, 10, false)); | 444 EXPECT_TRUE(TouchStart(10, 10, false)); |
| 445 EXPECT_TRUE(TouchMove(20, 20, false)); | 445 EXPECT_TRUE(TouchMove(20, 20, false)); |
| 446 emulator()->Disable(); | 446 emulator()->Disable(); |
| 447 EXPECT_TRUE(TouchEnd(20, 20, false)); | 447 EXPECT_TRUE(TouchEnd(20, 20, false)); |
| 448 EXPECT_TRUE(TouchStart(30, 30, false)); | 448 EXPECT_TRUE(TouchStart(30, 30, false)); |
| 449 AckOldestTouchEvent(); // TouchStart. | 449 AckOldestTouchEvent(); // TouchStart. |
| 450 emulator()->Enable(true); | 450 emulator()->Enable(); |
| 451 AckOldestTouchEvent(); // TouchMove. | 451 AckOldestTouchEvent(); // TouchMove. |
| 452 AckOldestTouchEvent(); // TouchEnd. | 452 AckOldestTouchEvent(); // TouchEnd. |
| 453 MouseDown(300, 200); | 453 MouseDown(300, 200); |
| 454 EXPECT_EQ("", ExpectedEvents()); | 454 EXPECT_EQ("", ExpectedEvents()); |
| 455 MouseDrag(300, 300); | 455 MouseDrag(300, 300); |
| 456 EXPECT_EQ("", ExpectedEvents()); | 456 EXPECT_EQ("", ExpectedEvents()); |
| 457 MouseUp(300, 300); | 457 MouseUp(300, 300); |
| 458 EXPECT_EQ("", ExpectedEvents()); | 458 EXPECT_EQ("", ExpectedEvents()); |
| 459 AckOldestTouchEvent(); // TouchStart. | 459 AckOldestTouchEvent(); // TouchStart. |
| 460 MouseDown(300, 200); | 460 MouseDown(300, 200); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 486 MouseDown(100, 200); | 486 MouseDown(100, 200); |
| 487 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); | 487 EXPECT_EQ("TouchStart GestureTapDown", ExpectedEvents()); |
| 488 MouseUp(200, 200); | 488 MouseUp(200, 200); |
| 489 EXPECT_EQ( | 489 EXPECT_EQ( |
| 490 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate" | 490 "TouchMove GestureTapCancel GestureScrollBegin GestureScrollUpdate" |
| 491 " TouchEnd GestureScrollEnd", | 491 " TouchEnd GestureScrollEnd", |
| 492 ExpectedEvents()); | 492 ExpectedEvents()); |
| 493 } | 493 } |
| 494 | 494 |
| 495 } // namespace content | 495 } // namespace content |
| OLD | NEW |