diff options
author | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-14 09:40:18 +0000 |
---|---|---|
committer | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-14 09:40:18 +0000 |
commit | 2127b4c639c1a7e3529e74218d859dbd6f9dcd98 (patch) | |
tree | a9c75d1ee4b15a1a7d8c89bc8787946c26dc4825 /ash | |
parent | 889dbcd50e560026e5d88973419f4dab0646124b (diff) | |
download | chromium_src-2127b4c639c1a7e3529e74218d859dbd6f9dcd98.zip chromium_src-2127b4c639c1a7e3529e74218d859dbd6f9dcd98.tar.gz chromium_src-2127b4c639c1a7e3529e74218d859dbd6f9dcd98.tar.bz2 |
Add unit tests for TAKE_SCREENSHOT.
The tests are currently commented out for no reason.
BUG=105198
TEST=ran aura_shell_unittests
Review URL: http://codereview.chromium.org/9194009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117792 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/accelerators/accelerator_controller_unittest.cc | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc index ceb87df..e5dd5d9 100644 --- a/ash/accelerators/accelerator_controller_unittest.cc +++ b/ash/accelerators/accelerator_controller_unittest.cc @@ -4,6 +4,7 @@ #include "ash/accelerators/accelerator_controller.h" #include "ash/ime/event.h" +#include "ash/screenshot_delegate.h" #include "ash/shell.h" #include "ash/shell_window_ids.h" #include "ash/test/aura_shell_test_base.h" @@ -23,6 +24,7 @@ namespace ash { namespace test { namespace { + class TestTarget : public ui::AcceleratorTarget { public: TestTarget() : accelerator_pressed_count_(0) {}; @@ -42,6 +44,29 @@ class TestTarget : public ui::AcceleratorTarget { private: int accelerator_pressed_count_; + + DISALLOW_COPY_AND_ASSIGN(TestTarget); +}; + +class DummyScreenshotDelegate : public ScreenshotDelegate { + public: + DummyScreenshotDelegate() : handle_take_screenshot_count_(0) { + } + virtual ~DummyScreenshotDelegate() {} + + // Overridden from ScreenshotDelegate: + virtual void HandleTakeScreenshot() OVERRIDE { + ++handle_take_screenshot_count_; + } + + int handle_take_screenshot_count() const { + return handle_take_screenshot_count_; + } + + private: + int handle_take_screenshot_count_; + + DISALLOW_COPY_AND_ASSIGN(DummyScreenshotDelegate); }; bool TestTarget::AcceleratorPressed(const ui::Accelerator& accelerator) { @@ -222,10 +247,20 @@ TEST_F(AcceleratorControllerTest, GlobalAccelerators) { EXPECT_TRUE(GetController()->Process( ui::Accelerator(ui::VKEY_TAB, false, false, true))); // TakeScreenshot - // EXPECT_TRUE(GetController()->Process( - // ui::Accelerator(ui::VKEY_F5, false, true, false))); - // EXPECT_TRUE(GetController()->Process( - // ui::Accelerator(ui::VKEY_PRINT, false, false, false))); + // True should always be returned regardless of the existence of the delegate. + EXPECT_TRUE(GetController()->Process( + ui::Accelerator(ui::VKEY_F5, false, true, false))); + EXPECT_TRUE(GetController()->Process( + ui::Accelerator(ui::VKEY_PRINT, false, false, false))); + DummyScreenshotDelegate* delegate = new DummyScreenshotDelegate; + GetController()->SetScreenshotDelegate(delegate); + EXPECT_EQ(0, delegate->handle_take_screenshot_count()); + EXPECT_TRUE(GetController()->Process( + ui::Accelerator(ui::VKEY_F5, false, true, false))); + EXPECT_EQ(1, delegate->handle_take_screenshot_count()); + EXPECT_TRUE(GetController()->Process( + ui::Accelerator(ui::VKEY_PRINT, false, false, false))); + EXPECT_EQ(2, delegate->handle_take_screenshot_count()); #if !defined(NDEBUG) // RotateScreen EXPECT_TRUE(GetController()->Process( |