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

Side by Side Diff: chrome/browser/chromeos/input_method/ibus_controller_base_unittest.cc

Issue 23460003: Merge IBusContorllerBase into IBusControllerImpl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add a line break per code review. Created 7 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/logging.h"
6 #include "base/memory/scoped_ptr.h"
7 #include "chrome/browser/chromeos/input_method/ibus_controller_base.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace chromeos {
11 namespace input_method {
12
13 namespace {
14
15 // A mock class for testing SetInputMethodConfig(), AddObserver(), and
16 // RemoveObserver() methods in IBusControllerBase.
17 class TestIBusController : public IBusControllerBase {
18 public:
19 TestIBusController() {
20 }
21 virtual ~TestIBusController() {
22 }
23
24 // IBusController overrides:
25 virtual void ClearProperties() OVERRIDE {}
26 virtual bool ActivateInputMethodProperty(const std::string& key) OVERRIDE {
27 return true;
28 }
29
30 bool HasObservers() const {
31 return observers_.might_have_observers();
32 }
33
34 private:
35 DISALLOW_COPY_AND_ASSIGN(TestIBusController);
36 };
37
38 class TestObserver : public IBusController::Observer {
39 public:
40 // IBusController::Observer overrides:
41 virtual void PropertyChanged() OVERRIDE {}
42 };
43
44 class IBusControllerBaseTest : public testing::Test {
45 public:
46 virtual void SetUp() {
47 controller_.reset(new TestIBusController);
48 }
49 virtual void TearDown() {
50 controller_.reset();
51 }
52
53 protected:
54 scoped_ptr<TestIBusController> controller_;
55 };
56
57 } // namespace
58
59 TEST_F(IBusControllerBaseTest, TestAddRemoveObserver) {
60 TestObserver observer1;
61 TestObserver observer2;
62 TestObserver observer3;
63 EXPECT_FALSE(controller_->HasObservers());
64 controller_->AddObserver(&observer1);
65 EXPECT_TRUE(controller_->HasObservers());
66 controller_->AddObserver(&observer2);
67 EXPECT_TRUE(controller_->HasObservers());
68 controller_->RemoveObserver(&observer3); // nop
69 EXPECT_TRUE(controller_->HasObservers());
70 controller_->RemoveObserver(&observer1);
71 EXPECT_TRUE(controller_->HasObservers());
72 controller_->RemoveObserver(&observer1); // nop
73 EXPECT_TRUE(controller_->HasObservers());
74 controller_->RemoveObserver(&observer2);
75 EXPECT_FALSE(controller_->HasObservers());
76 }
77
78 TEST_F(IBusControllerBaseTest, TestGetCurrentProperties) {
79 EXPECT_EQ(0U, controller_->GetCurrentProperties().size());
80 }
81
82 } // namespace input_method
83 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698