diff options
author | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-06 08:42:11 +0000 |
---|---|---|
committer | yusukes@chromium.org <yusukes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-06 08:42:11 +0000 |
commit | e96322d2c8b894f74cea00a48b4c98dee14e5968 (patch) | |
tree | e12c9eba86086e54f22590eea07310a8bcfc9fcd /ui/ui.gyp | |
parent | d4a301d9eac6efc6a49b039bf10b7888e2d64a20 (diff) | |
download | chromium_src-e96322d2c8b894f74cea00a48b4c98dee14e5968.zip chromium_src-e96322d2c8b894f74cea00a48b4c98dee14e5968.tar.gz chromium_src-e96322d2c8b894f74cea00a48b4c98dee14e5968.tar.bz2 |
Write unit tests for ui::InputMethodIBus.
Since the IME binding will be used in production soon, I'd like to add unit tests for the class to prevent future regressions.
ibus_client.h
- Define ui::IBusClient interface which abstracts ibus IPC and makes it possible to remove ibus function calls from ui::InputMethodIBus.
ibus_client_impl.cc
ibus_client_impl.h
- A very thin wrapper around ibus which implements ui::IBusClient. libibus-dependent parts in ui::InputMethodIBus are moved to this class.
input_method_ibus.cc
- Removed all ibus related code. It uses ui::IBusClient interface instead to communicate with ibus-daemon.
- Now the class is testable since it does not communicate with ibus-daemon directly, and can compile on build bots where HAVE_IBUS is not #defined.
input_method_ibus_unittest.cc
- The test.
mock_ibus_client.cc
mock_ibus_client.h
- A dummy IBusClient implementation for the test. The dummy implementation requires neither ibus-daemon nor ibus header files.
composition_text.h
composition_underline.h
- Add operator== and operator!=.
ui.gyp
- Compile mock_ibus_client, character_composer and input_method_ibus when use_aura==1 and use_x11==1. Note that these files do not depend on ibus.
- Compile ibus_client_impl when use_aura==1 and use_ibus==1.
ui_unittests.gypi
- Compile character_composer_unittest and input_method_ibus_unittest when use_aura==1 and use_x11==1. The test does not depend on ibus.
BUG=108172
TEST=ran linux_chromeos_aura bot
Review URL: http://codereview.chromium.org/9005006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116654 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/ui.gyp')
-rw-r--r-- | ui/ui.gyp | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -136,6 +136,9 @@ 'base/ime/composition_text.cc', 'base/ime/composition_text.h', 'base/ime/composition_underline.h', + 'base/ime/ibus_client.h', + 'base/ime/ibus_client_impl.cc', + 'base/ime/ibus_client_impl.h', 'base/ime/input_method.h', 'base/ime/input_method_base.cc', 'base/ime/input_method_base.h', @@ -144,6 +147,8 @@ 'base/ime/input_method_factory.h', 'base/ime/input_method_ibus.cc', 'base/ime/input_method_ibus.h', + 'base/ime/mock_ibus_client.cc', + 'base/ime/mock_ibus_client.h', 'base/ime/mock_input_method.cc', 'base/ime/mock_input_method.h', 'base/ime/text_input_client.cc', @@ -375,10 +380,17 @@ ], }, { # use_aura!=1 'sources!': [ + 'base/ime/character_composer.cc', + 'base/ime/character_composer.h', + 'base/ime/ibus_client.h', + 'base/ime/ibus_client_impl.cc', + 'base/ime/ibus_client_impl.h', 'base/ime/input_method_factory.cc', 'base/ime/input_method_factory.h', 'base/ime/input_method_ibus.cc', 'base/ime/input_method_ibus.h', + 'base/ime/mock_ibus_client.cc', + 'base/ime/mock_ibus_client.h', 'base/ime/mock_input_method.cc', 'base/ime/mock_input_method.h', 'gfx/native_theme_aura.cc', @@ -404,8 +416,8 @@ ], }, { # else: use_ibus != 1 'sources/': [ - ['exclude', 'base/ime/input_method_ibus.cc'], - ['exclude', 'base/ime/input_method_ibus.h'], + ['exclude', 'base/ime/ibus_client_impl.cc'], + ['exclude', 'base/ime/ibus_client_impl.h'], ], }], @@ -487,12 +499,6 @@ ['include', 'gfx/linux_util.h'], ], }], - ['use_ibus != 1', { - 'sources/': [ - ['exclude', 'base/ime/character_composer.cc'], - ['exclude', 'base/ime/character_composer.h'], - ], - }], ['OS=="win"', { 'sources': [ 'gfx/gdi_util.cc', @@ -592,6 +598,12 @@ 'base/keycodes/keyboard_code_conversion_x.cc', 'base/keycodes/keyboard_code_conversion_x.h', 'base/x/', + 'base/ime/input_method_ibus.cc', + 'base/ime/input_method_ibus.h', + 'base/ime/mock_ibus_client.cc', + 'base/ime/mock_ibus_client.h', + 'base/ime/character_composer.cc', + 'base/ime/character_composer.h', ], }], ['chromeos==1', { |