| 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 "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "base/metrics/histogram.h" | 6 #include "base/metrics/histogram.h" |
| 7 #include "base/metrics/histogram_samples.h" | 7 #include "base/metrics/histogram_samples.h" |
| 8 #include "base/metrics/statistics_recorder.h" | 8 #include "base/metrics/statistics_recorder.h" |
| 9 #include "base/test/histogram_tester.h" | 9 #include "base/test/histogram_tester.h" |
| 10 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" | 10 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 | 59 |
| 60 MockInputMethodManager* manager = new MockInputMethodManager; | 60 MockInputMethodManager* manager = new MockInputMethodManager; |
| 61 manager->SetComponentExtensionIMEManager( | 61 manager->SetComponentExtensionIMEManager( |
| 62 scoped_ptr<ComponentExtensionIMEManager>(comp_ime_manager).Pass()); | 62 scoped_ptr<ComponentExtensionIMEManager>(comp_ime_manager).Pass()); |
| 63 InitializeForTesting(manager); | 63 InitializeForTesting(manager); |
| 64 } | 64 } |
| 65 | 65 |
| 66 class TestObserver : public InputMethodEngineInterface::Observer { | 66 class TestObserver : public InputMethodEngineInterface::Observer { |
| 67 public: | 67 public: |
| 68 TestObserver() : calls_bitmap_(NONE) {} | 68 TestObserver() : calls_bitmap_(NONE) {} |
| 69 virtual ~TestObserver() {} | 69 ~TestObserver() override {} |
| 70 | 70 |
| 71 virtual void OnActivate(const std::string& engine_id) override { | 71 void OnActivate(const std::string& engine_id) override { |
| 72 calls_bitmap_ |= ACTIVATE; | 72 calls_bitmap_ |= ACTIVATE; |
| 73 } | 73 } |
| 74 virtual void OnDeactivated(const std::string& engine_id) override { | 74 void OnDeactivated(const std::string& engine_id) override { |
| 75 calls_bitmap_ |= DEACTIVATED; | 75 calls_bitmap_ |= DEACTIVATED; |
| 76 } | 76 } |
| 77 virtual void OnFocus( | 77 void OnFocus( |
| 78 const InputMethodEngineInterface::InputContext& context) override { | 78 const InputMethodEngineInterface::InputContext& context) override { |
| 79 calls_bitmap_ |= ONFOCUS; | 79 calls_bitmap_ |= ONFOCUS; |
| 80 } | 80 } |
| 81 virtual void OnBlur(int context_id) override { | 81 void OnBlur(int context_id) override { calls_bitmap_ |= ONBLUR; } |
| 82 calls_bitmap_ |= ONBLUR; | 82 void OnKeyEvent(const std::string& engine_id, |
| 83 } | 83 const InputMethodEngineInterface::KeyboardEvent& event, |
| 84 virtual void OnKeyEvent( | 84 input_method::KeyEventHandle* key_data) override {} |
| 85 const std::string& engine_id, | 85 void OnInputContextUpdate( |
| 86 const InputMethodEngineInterface::KeyboardEvent& event, | |
| 87 input_method::KeyEventHandle* key_data) override {} | |
| 88 virtual void OnInputContextUpdate( | |
| 89 const InputMethodEngineInterface::InputContext& context) override {} | 86 const InputMethodEngineInterface::InputContext& context) override {} |
| 90 virtual void OnCandidateClicked( | 87 void OnCandidateClicked( |
| 91 const std::string& engine_id, | 88 const std::string& engine_id, |
| 92 int candidate_id, | 89 int candidate_id, |
| 93 InputMethodEngineInterface::MouseButtonEvent button) override {} | 90 InputMethodEngineInterface::MouseButtonEvent button) override {} |
| 94 virtual void OnMenuItemActivated( | 91 void OnMenuItemActivated(const std::string& engine_id, |
| 95 const std::string& engine_id, | 92 const std::string& menu_id) override {} |
| 96 const std::string& menu_id) override {} | 93 void OnSurroundingTextChanged(const std::string& engine_id, |
| 97 virtual void OnSurroundingTextChanged( | 94 const std::string& text, |
| 98 const std::string& engine_id, | 95 int cursor_pos, |
| 99 const std::string& text, | 96 int anchor_pos) override {} |
| 100 int cursor_pos, | 97 void OnCompositionBoundsChanged(const gfx::Rect& bounds) override { |
| 101 int anchor_pos) override {} | |
| 102 virtual void OnCompositionBoundsChanged(const gfx::Rect& bounds) override { | |
| 103 calls_bitmap_ |= ONCOMPOSITIONBOUNDSCHANGED; | 98 calls_bitmap_ |= ONCOMPOSITIONBOUNDSCHANGED; |
| 104 } | 99 } |
| 105 virtual void OnReset(const std::string& engine_id) override {} | 100 void OnReset(const std::string& engine_id) override {} |
| 106 | 101 |
| 107 unsigned char GetCallsBitmapAndReset() { | 102 unsigned char GetCallsBitmapAndReset() { |
| 108 unsigned char ret = calls_bitmap_; | 103 unsigned char ret = calls_bitmap_; |
| 109 calls_bitmap_ = NONE; | 104 calls_bitmap_ = NONE; |
| 110 return ret; | 105 return ret; |
| 111 } | 106 } |
| 112 | 107 |
| 113 private: | 108 private: |
| 114 unsigned char calls_bitmap_; | 109 unsigned char calls_bitmap_; |
| 115 | 110 |
| 116 DISALLOW_COPY_AND_ASSIGN(TestObserver); | 111 DISALLOW_COPY_AND_ASSIGN(TestObserver); |
| 117 }; | 112 }; |
| 118 | 113 |
| 119 class InputMethodEngineTest : public testing::Test { | 114 class InputMethodEngineTest : public testing::Test { |
| 120 public: | 115 public: |
| 121 InputMethodEngineTest() : observer_(NULL), input_view_("inputview.html") { | 116 InputMethodEngineTest() : observer_(NULL), input_view_("inputview.html") { |
| 122 languages_.push_back("en-US"); | 117 languages_.push_back("en-US"); |
| 123 layouts_.push_back("us"); | 118 layouts_.push_back("us"); |
| 124 InitInputMethod(); | 119 InitInputMethod(); |
| 125 IMEBridge::Initialize(); | 120 IMEBridge::Initialize(); |
| 126 mock_ime_input_context_handler_.reset(new MockIMEInputContextHandler()); | 121 mock_ime_input_context_handler_.reset(new MockIMEInputContextHandler()); |
| 127 IMEBridge::Get()->SetInputContextHandler( | 122 IMEBridge::Get()->SetInputContextHandler( |
| 128 mock_ime_input_context_handler_.get()); | 123 mock_ime_input_context_handler_.get()); |
| 129 } | 124 } |
| 130 virtual ~InputMethodEngineTest() { | 125 ~InputMethodEngineTest() override { |
| 131 IMEBridge::Get()->SetInputContextHandler(NULL); | 126 IMEBridge::Get()->SetInputContextHandler(NULL); |
| 132 engine_.reset(); | 127 engine_.reset(); |
| 133 Shutdown(); | 128 Shutdown(); |
| 134 } | 129 } |
| 135 | 130 |
| 136 protected: | 131 protected: |
| 137 void CreateEngine(bool whitelisted) { | 132 void CreateEngine(bool whitelisted) { |
| 138 engine_.reset(new InputMethodEngine()); | 133 engine_.reset(new InputMethodEngine()); |
| 139 observer_ = new TestObserver(); | 134 observer_ = new TestObserver(); |
| 140 scoped_ptr<InputMethodEngineInterface::Observer> observer_ptr(observer_); | 135 scoped_ptr<InputMethodEngineInterface::Observer> observer_ptr(observer_); |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 TEST_F(InputMethodEngineTest, TestCompositionBoundsChanged) { | 253 TEST_F(InputMethodEngineTest, TestCompositionBoundsChanged) { |
| 259 CreateEngine(true); | 254 CreateEngine(true); |
| 260 // Enable/disable with focus. | 255 // Enable/disable with focus. |
| 261 engine_->SetCompositionBounds(gfx::Rect()); | 256 engine_->SetCompositionBounds(gfx::Rect()); |
| 262 EXPECT_EQ(ONCOMPOSITIONBOUNDSCHANGED, | 257 EXPECT_EQ(ONCOMPOSITIONBOUNDSCHANGED, |
| 263 observer_->GetCallsBitmapAndReset()); | 258 observer_->GetCallsBitmapAndReset()); |
| 264 } | 259 } |
| 265 | 260 |
| 266 } // namespace input_method | 261 } // namespace input_method |
| 267 } // namespace chromeos | 262 } // namespace chromeos |
| OLD | NEW |