Chromium Code Reviews| Index: ui/aura/window_tree_host_unittest.cc |
| diff --git a/ui/aura/window_tree_host_unittest.cc b/ui/aura/window_tree_host_unittest.cc |
| index e4ce37c0412da271e98a48a6b44d8d4d5cd9c894..7da3eb9853d1e149186189ff4e4b8485c5f4ba99 100644 |
| --- a/ui/aura/window_tree_host_unittest.cc |
| +++ b/ui/aura/window_tree_host_unittest.cc |
| @@ -5,7 +5,41 @@ |
| #include "ui/aura/test/aura_test_base.h" |
| #include "ui/aura/test/test_screen.h" |
| #include "ui/aura/window.h" |
| +#include "ui/base/ime/input_method.h" |
| #include "ui/compositor/layer.h" |
| +#include "ui/events/event_rewriter.h" |
| + |
| +namespace { |
| + |
| +// Counts number of events observed. |
| +class CounterEventRewriter : public ui::EventRewriter { |
| + public: |
| + CounterEventRewriter() : events_seen_(0) {} |
| + ~CounterEventRewriter() override {} |
| + |
| + int events_seen() const { return events_seen_; } |
| + |
| + private: |
| + // ui::EventRewriter: |
| + ui::EventRewriteStatus RewriteEvent( |
| + const ui::Event& event, |
| + std::unique_ptr<ui::Event>* new_event) override { |
| + events_seen_++; |
| + return ui::EVENT_REWRITE_CONTINUE; |
| + } |
| + |
| + ui::EventRewriteStatus NextDispatchEvent( |
| + const ui::Event& last_event, |
| + std::unique_ptr<ui::Event>* new_event) override { |
| + return ui::EVENT_REWRITE_CONTINUE; |
| + } |
| + |
| + int events_seen_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(CounterEventRewriter); |
| +}; |
| + |
| +} // namespace |
| namespace aura { |
| @@ -39,4 +73,15 @@ TEST_F(WindowTreeHostTest, DPIWindowSize) { |
| host()->compositor()->root_layer()->subpixel_position_offset()); |
| } |
| +TEST_F(WindowTreeHostTest, NoRewritesPostIME) { |
| + CounterEventRewriter event_rewriter; |
| + host()->AddEventRewriter(&event_rewriter); |
| + |
| + ui::KeyEvent key_event('A', ui::VKEY_A, 0); |
| + host()->GetInputMethod()->DispatchKeyEvent(&key_event); |
| + EXPECT_EQ(0, event_rewriter.events_seen()); |
|
sadrul
2017/06/02 20:04:39
Can you do SendEventToSink() on the WTH, and verif
|
| + |
| + host()->RemoveEventRewriter(&event_rewriter); |
| +} |
| + |
| } // namespace aura |