| Index: chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_unittest.cc
|
| diff --git a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_unittest.cc b/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_unittest.cc
|
| deleted file mode 100644
|
| index 9180bd6fe1ac343b8f31569bef4964878e45ae98..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_unittest.cc
|
| +++ /dev/null
|
| @@ -1,146 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ash/shell.h"
|
| -#include "ash/test/ash_test_base.h"
|
| -#include "chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter.h"
|
| -#include "ui/aura/window.h"
|
| -#include "ui/aura/window_tree_host.h"
|
| -#include "ui/events/event.h"
|
| -#include "ui/events/event_constants.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -#include "ui/events/test/event_generator.h"
|
| -
|
| -// Records all key events.
|
| -class EventCapturer : public ui::EventHandler {
|
| - public:
|
| - EventCapturer() {}
|
| - ~EventCapturer() override {}
|
| -
|
| - void Reset() { events_.clear(); }
|
| -
|
| - void OnEvent(ui::Event* event) override {
|
| - if (event->IsKeyEvent())
|
| - events_.push_back(new ui::KeyEvent(static_cast<ui::KeyEvent&>(*event)));
|
| - }
|
| -
|
| - const ScopedVector<ui::KeyEvent>& captured_events() const { return events_; }
|
| -
|
| - private:
|
| - ScopedVector<ui::KeyEvent> events_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(EventCapturer);
|
| -};
|
| -
|
| -class SpokenFeedbackEventRewriterTest
|
| - : public ash::test::AshTestBase,
|
| - public SpokenFeedbackEventRewriterDelegate {
|
| - public:
|
| - SpokenFeedbackEventRewriterTest()
|
| - : spoken_feedback_event_rewriter_(new SpokenFeedbackEventRewriter(this)),
|
| - is_spoken_feedback_enabled_(false),
|
| - dispatch_result_(false) {}
|
| -
|
| - void SetUp() override {
|
| - ash::test::AshTestBase::SetUp();
|
| - CurrentContext()->AddPreTargetHandler(&event_capturer_);
|
| - CurrentContext()->GetHost()->GetEventSource()->AddEventRewriter(
|
| - spoken_feedback_event_rewriter_.get());
|
| - generator_.reset(new ui::test::EventGenerator(CurrentContext()));
|
| - }
|
| -
|
| - void TearDown() override {
|
| - generator_.reset();
|
| - CurrentContext()->GetHost()->GetEventSource()->RemoveEventRewriter(
|
| - spoken_feedback_event_rewriter_.get());
|
| - CurrentContext()->RemovePreTargetHandler(&event_capturer_);
|
| - ash::test::AshTestBase::TearDown();
|
| - }
|
| -
|
| - protected:
|
| - scoped_ptr<ui::test::EventGenerator> generator_;
|
| - EventCapturer event_capturer_;
|
| -
|
| - void set_is_spoken_feedback_enabled(bool enabled) {
|
| - is_spoken_feedback_enabled_ = enabled;
|
| - }
|
| -
|
| - void set_dispatch_result(bool result) { dispatch_result_ = result; }
|
| -
|
| - private:
|
| - // SpokenFeedbackEventRewriterDelegate:
|
| - bool IsSpokenFeedbackEnabled() const override {
|
| - return is_spoken_feedback_enabled_;
|
| - }
|
| -
|
| - bool DispatchKeyToChromeVox(ui::KeyEvent key_event) override {
|
| - return dispatch_result_;
|
| - }
|
| -
|
| - scoped_ptr<SpokenFeedbackEventRewriter> spoken_feedback_event_rewriter_;
|
| - bool is_spoken_feedback_enabled_;
|
| - bool dispatch_result_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SpokenFeedbackEventRewriterTest);
|
| -};
|
| -
|
| -TEST_F(SpokenFeedbackEventRewriterTest, PressAndReleaseCvoxKeys) {
|
| - // Mock ChromeVox enabled.
|
| - set_is_spoken_feedback_enabled(true);
|
| -
|
| - // Send Search+Shift.
|
| - generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
|
| - ASSERT_EQ(1U, event_capturer_.captured_events().size());
|
| - generator_->PressKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - ASSERT_EQ(2U, event_capturer_.captured_events().size());
|
| -
|
| - // Mock successful commands lookup and dispatch.
|
| - set_dispatch_result(true);
|
| -
|
| - // Send the right arrow key, which gets successfully looked up and dispatched
|
| - // as a ChromeVox command, so the event gets discarded.
|
| - generator_->PressKey(ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - ASSERT_EQ(2U, event_capturer_.captured_events().size());
|
| -
|
| - event_capturer_.Reset();
|
| -
|
| - // Released keys previously captured get eaten even without successful
|
| - // dispatch.
|
| - set_dispatch_result(false);
|
| - generator_->ReleaseKey(ui::VKEY_RIGHT,
|
| - ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - ASSERT_EQ(0U, event_capturer_.captured_events().size());
|
| -
|
| - // Modifiers were not discarded, so we let them continue.
|
| - generator_->ReleaseKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN);
|
| - generator_->ReleaseKey(ui::VKEY_LWIN, 0);
|
| - ASSERT_EQ(2U, event_capturer_.captured_events().size());
|
| -}
|
| -
|
| -TEST_F(SpokenFeedbackEventRewriterTest, KeysNotEatenWithChromeVoxDisabled) {
|
| - // Send Search+Shift+Right.
|
| - generator_->PressKey(ui::VKEY_LWIN, ui::EF_COMMAND_DOWN);
|
| - ASSERT_EQ(1U, event_capturer_.captured_events().size());
|
| - generator_->PressKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - ASSERT_EQ(2U, event_capturer_.captured_events().size());
|
| -
|
| - // Mock successful commands lookup and dispatch; shouldn't matter either way.
|
| - set_dispatch_result(true);
|
| - generator_->PressKey(ui::VKEY_RIGHT, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - ASSERT_EQ(3U, event_capturer_.captured_events().size());
|
| -
|
| - // Released keys shouldn't get eaten.
|
| - set_dispatch_result(false);
|
| - generator_->ReleaseKey(ui::VKEY_RIGHT,
|
| - ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN);
|
| - generator_->ReleaseKey(ui::VKEY_SHIFT, ui::EF_COMMAND_DOWN);
|
| - generator_->ReleaseKey(ui::VKEY_LWIN, 0);
|
| - ASSERT_EQ(6U, event_capturer_.captured_events().size());
|
| -
|
| - // Try releasing more keys.
|
| - generator_->ReleaseKey(ui::VKEY_RIGHT, 0);
|
| - generator_->ReleaseKey(ui::VKEY_SHIFT, 0);
|
| - generator_->ReleaseKey(ui::VKEY_LWIN, 0);
|
| - ASSERT_EQ(9U, event_capturer_.captured_events().size());
|
| -}
|
|
|