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

Unified Diff: chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc

Issue 23460003: Merge IBusContorllerBase into IBusControllerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 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
« no previous file with comments | « chrome/browser/chromeos/input_method/ibus_controller_impl.cc ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc
diff --git a/chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc b/chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc
index 2a251c88b7a6d3842ebcdeecec8bcffd5614877a..c5102894aae344a2801d635ecf5437f4ce25f900 100644
--- a/chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc
+++ b/chrome/browser/chromeos/input_method/ibus_controller_impl_unittest.cc
@@ -18,6 +18,28 @@ bool FindAndUpdateProperty(const InputMethodProperty& new_prop,
prop_list);
}
+// A mock class for testing AddObserver() and RemoveObserver() methods
+// in IBusControllerImpl.
+class TestIBusController : public IBusControllerImpl {
+ public:
+ TestIBusController() {
+ }
+ virtual ~TestIBusController() {
Seigo Nonaka 2013/08/27 11:31:12 nit: please add one line break above.
Hiro Komatsu 2013/08/28 01:41:28 Done.
+ }
+
+ bool HasObservers() const {
+ return observers_.might_have_observers();
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(TestIBusController);
+};
+
+class TestObserver : public IBusController::Observer {
+ public:
+ // IBusController::Observer overrides:
+ virtual void PropertyChanged() OVERRIDE {}
+};
} // namespace
TEST(IBusControllerImplTest, TestFindAndUpdateProperty) {
@@ -49,5 +71,38 @@ TEST(IBusControllerImplTest, TestFindAndUpdateProperty) {
properties[1]);
}
+TEST(IBusControllerImplTest, TestAddRemoveObserver) {
+ IBusBridge::Initialize();
+ {
+ TestIBusController controller;
+ TestObserver observer1;
+ TestObserver observer2;
+ TestObserver observer3;
+ EXPECT_FALSE(controller.HasObservers());
+ controller.AddObserver(&observer1);
+ EXPECT_TRUE(controller.HasObservers());
+ controller.AddObserver(&observer2);
+ EXPECT_TRUE(controller.HasObservers());
+ controller.RemoveObserver(&observer3); // nop
+ EXPECT_TRUE(controller.HasObservers());
+ controller.RemoveObserver(&observer1);
+ EXPECT_TRUE(controller.HasObservers());
+ controller.RemoveObserver(&observer1); // nop
+ EXPECT_TRUE(controller.HasObservers());
+ controller.RemoveObserver(&observer2);
+ EXPECT_FALSE(controller.HasObservers());
+ }
+ IBusBridge::Shutdown();
+}
+
+TEST(IBusControllerImplTest, TestGetCurrentProperties) {
+ IBusBridge::Initialize();
+ {
+ IBusControllerImpl controller;
+ EXPECT_EQ(0U, controller.GetCurrentProperties().size());
+ }
+ IBusBridge::Shutdown();
+}
+
} // namespace input_method
} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/input_method/ibus_controller_impl.cc ('k') | chrome/chrome_browser_chromeos.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698