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

Side by Side Diff: ash/launcher/launcher_view_unittest.cc

Issue 10116011: Add LauncherIconObserver. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix CrOS build Created 8 years, 8 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
« no previous file with comments | « ash/launcher/launcher_view.cc ('k') | ash/test/test_launcher_delegate.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ash/launcher/launcher_view.h"
6
7 #include "ash/ash_switches.h"
8 #include "ash/launcher/launcher.h"
9 #include "ash/launcher/launcher_icon_observer.h"
10 #include "ash/shell.h"
11 #include "ash/shell_window_ids.h"
12 #include "ash/test/ash_test_base.h"
13 #include "ash/test/test_launcher_delegate.h"
14 #include "base/basictypes.h"
15 #include "base/command_line.h"
16 #include "base/compiler_specific.h"
17 #include "ui/aura/window.h"
18 #include "ui/views/widget/widget.h"
19 #include "ui/views/widget/widget_delegate.h"
20
21 namespace ash {
22
23 namespace {
24
25 class TestLauncherIconObserver : public LauncherIconObserver {
26 public:
27 TestLauncherIconObserver() : count_(0) {
28 Shell::GetInstance()->launcher()->AddIconObserver(this);
29 }
30
31 virtual ~TestLauncherIconObserver() {
32 Shell::GetInstance()->launcher()->RemoveIconObserver(this);
33 }
34
35 // LauncherIconObserver implementation.
36 void OnLauncherIconPositionsChanged() OVERRIDE {
37 count_++;
38 }
39
40 int count() const { return count_; }
41 void Reset() { count_ = 0; }
42
43 private:
44 int count_;
45
46 DISALLOW_COPY_AND_ASSIGN(TestLauncherIconObserver);
47 };
48
49 class LauncherViewTest : public ash::test::AshTestBase {
50 public:
51 LauncherViewTest() {}
52 virtual ~LauncherViewTest() {}
53
54 virtual void SetUp() OVERRIDE {
55 AshTestBase::SetUp();
56 observer_.reset(new TestLauncherIconObserver);
57 }
58
59 virtual void TearDown() OVERRIDE {
60 observer_.reset();
61 AshTestBase::TearDown();
62 }
63
64 TestLauncherIconObserver* observer() { return observer_.get(); }
65
66 private:
67 scoped_ptr<TestLauncherIconObserver> observer_;
68
69 DISALLOW_COPY_AND_ASSIGN(LauncherViewTest);
70 };
71
72 TEST_F(LauncherViewTest, AddRemove) {
73 ash::test::TestLauncherDelegate* launcher_delegate =
74 ash::test::TestLauncherDelegate::instance();
75 ASSERT_TRUE(launcher_delegate);
76
77 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
78 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
79 params.bounds = gfx::Rect(0, 0, 200, 200);
80
81 scoped_ptr<views::Widget> widget(new views::Widget());
82 widget->Init(params);
83 launcher_delegate->AddLauncherItem(widget->GetNativeWindow());
84 EXPECT_EQ(1, observer()->count());
85 observer()->Reset();
86
87 widget->Show();
88 widget->GetNativeWindow()->parent()->RemoveChild(widget->GetNativeWindow());
89 EXPECT_EQ(1, observer()->count());
90 observer()->Reset();
91 }
92
93 TEST_F(LauncherViewTest, BoundsChanged) {
94 Launcher* launcher = Shell::GetInstance()->launcher();
95 int total_width = launcher->widget()->GetWindowScreenBounds().width();
96 ASSERT_GT(total_width, 0);
97 launcher->SetStatusWidth(total_width / 2);
98 EXPECT_EQ(1, observer()->count());
99 observer()->Reset();
100 }
101
102 } // namespace
103
104 } // namespace ash
OLDNEW
« no previous file with comments | « ash/launcher/launcher_view.cc ('k') | ash/test/test_launcher_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698