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

Unified Diff: chrome/browser/chromeos/accessibility/spoken_feedback_event_rewriter_unittest.cc

Issue 1211003002: Revert of Proposed alternative for supporting ChromeVox keyboard commands. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
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());
-}

Powered by Google App Engine
This is Rietveld 408576698