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

Side by Side Diff: chrome/browser/ui/views/tabs/tab_unittest.cc

Issue 12757002: Audio indicator: Views UI (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/views/tabs/tab.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "chrome/browser/ui/views/tabs/tab.h" 5 #include "chrome/browser/ui/views/tabs/tab.h"
6 #include "chrome/browser/ui/views/tabs/tab_controller.h" 6 #include "chrome/browser/ui/views/tabs/tab_controller.h"
7 7
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "ui/base/models/list_selection_model.h" 10 #include "ui/base/models/list_selection_model.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 DISALLOW_COPY_AND_ASSIGN(FakeTabController); 62 DISALLOW_COPY_AND_ASSIGN(FakeTabController);
63 }; 63 };
64 64
65 class TabTest : public views::ViewsTestBase { 65 class TabTest : public views::ViewsTestBase {
66 public: 66 public:
67 TabTest() {} 67 TabTest() {}
68 virtual ~TabTest() {} 68 virtual ~TabTest() {}
69 69
70 static bool IconAnimationInvariant(const Tab& tab) { 70 static bool IconAnimationInvariant(const Tab& tab) {
71 if ((tab.data().audio_state != TabRendererData::AUDIO_STATE_NONE) || 71 bool capture_invariant =
72 (tab.data().capture_state != TabRendererData::CAPTURE_STATE_NONE)) 72 tab.data().CaptureActive() == (tab.icon_animation_.get() != NULL);
73 return HasIconAnimation(tab); 73 bool audio_invariant =
74 else 74 !tab.data().AudioActive() || tab.tab_audio_indicator_->IsAnimating();
75 return !HasIconAnimation(tab); 75 return capture_invariant && audio_invariant;
76 }
77
78 private:
79 static bool HasIconAnimation(const Tab& tab) {
80 return (tab.icon_animation_.get() != NULL);
81 } 76 }
82 }; 77 };
83 78
84 TEST_F(TabTest, HitTestTopPixel) { 79 TEST_F(TabTest, HitTestTopPixel) {
85 Widget widget; 80 Widget widget;
86 Widget::InitParams params(CreateParams(Widget::InitParams::TYPE_WINDOW)); 81 Widget::InitParams params(CreateParams(Widget::InitParams::TYPE_WINDOW));
87 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 82 params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
88 params.bounds.SetRect(10, 20, 300, 400); 83 params.bounds.SetRect(10, 20, 300, 400);
89 widget.Init(params); 84 widget.Init(params);
90 85
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state); 143 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state);
149 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state); 144 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state);
150 EXPECT_TRUE(IconAnimationInvariant(tab)); 145 EXPECT_TRUE(IconAnimationInvariant(tab));
151 146
152 // Audio starts then capture starts, then audio stops then capture stops. 147 // Audio starts then capture starts, then audio stops then capture stops.
153 data.audio_state = TabRendererData::AUDIO_STATE_PLAYING; 148 data.audio_state = TabRendererData::AUDIO_STATE_PLAYING;
154 tab.SetData(data); 149 tab.SetData(data);
155 data.capture_state = TabRendererData::CAPTURE_STATE_RECORDING; 150 data.capture_state = TabRendererData::CAPTURE_STATE_RECORDING;
156 tab.SetData(data); 151 tab.SetData(data);
157 EXPECT_TRUE(IconAnimationInvariant(tab)); 152 EXPECT_TRUE(IconAnimationInvariant(tab));
158 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state); 153 EXPECT_EQ(TabRendererData::AUDIO_STATE_PLAYING, tab.data().audio_state);
159 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state); 154 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state);
160 155
161 data.title = ASCIIToUTF16("test X"); 156 data.title = ASCIIToUTF16("test X");
162 tab.SetData(data); 157 tab.SetData(data);
163 EXPECT_TRUE(IconAnimationInvariant(tab)); 158 EXPECT_TRUE(IconAnimationInvariant(tab));
164 159
165 data.audio_state = TabRendererData::AUDIO_STATE_NONE; 160 data.audio_state = TabRendererData::AUDIO_STATE_NONE;
166 tab.SetData(data); 161 tab.SetData(data);
167 EXPECT_TRUE(IconAnimationInvariant(tab)); 162 EXPECT_TRUE(IconAnimationInvariant(tab));
168 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state); 163 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state);
169 data.capture_state = TabRendererData::CAPTURE_STATE_NONE; 164 data.capture_state = TabRendererData::CAPTURE_STATE_NONE;
170 tab.SetData(data); 165 tab.SetData(data);
171 EXPECT_TRUE(IconAnimationInvariant(tab)); 166 EXPECT_TRUE(IconAnimationInvariant(tab));
172 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state); 167 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state);
173 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state); 168 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state);
174 169
175 // Audio starts then capture starts, then capture stops then audio stops. 170 // Audio starts then capture starts, then capture stops then audio stops.
176 data.audio_state = TabRendererData::AUDIO_STATE_PLAYING; 171 data.audio_state = TabRendererData::AUDIO_STATE_PLAYING;
177 tab.SetData(data); 172 tab.SetData(data);
178 data.capture_state = TabRendererData::CAPTURE_STATE_RECORDING; 173 data.capture_state = TabRendererData::CAPTURE_STATE_RECORDING;
179 tab.SetData(data); 174 tab.SetData(data);
180 EXPECT_TRUE(IconAnimationInvariant(tab)); 175 EXPECT_TRUE(IconAnimationInvariant(tab));
181 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state); 176 EXPECT_EQ(TabRendererData::AUDIO_STATE_PLAYING, tab.data().audio_state);
182 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state); 177 EXPECT_EQ(TabRendererData::CAPTURE_STATE_RECORDING, tab.data().capture_state);
183 178
184 data.title = ASCIIToUTF16("test Y"); 179 data.title = ASCIIToUTF16("test Y");
185 tab.SetData(data); 180 tab.SetData(data);
186 EXPECT_TRUE(IconAnimationInvariant(tab)); 181 EXPECT_TRUE(IconAnimationInvariant(tab));
187 182
188 data.capture_state = TabRendererData::CAPTURE_STATE_NONE; 183 data.capture_state = TabRendererData::CAPTURE_STATE_NONE;
189 tab.SetData(data); 184 tab.SetData(data);
190 EXPECT_TRUE(IconAnimationInvariant(tab)); 185 EXPECT_TRUE(IconAnimationInvariant(tab));
191 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state); 186 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state);
192 187
193 data.audio_state = TabRendererData::AUDIO_STATE_NONE; 188 data.audio_state = TabRendererData::AUDIO_STATE_NONE;
194 tab.SetData(data); 189 tab.SetData(data);
195 EXPECT_TRUE(IconAnimationInvariant(tab)); 190 EXPECT_TRUE(IconAnimationInvariant(tab));
196 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state); 191 EXPECT_EQ(TabRendererData::AUDIO_STATE_NONE, tab.data().audio_state);
197 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state); 192 EXPECT_EQ(TabRendererData::CAPTURE_STATE_NONE, tab.data().capture_state);
198 EXPECT_TRUE(IconAnimationInvariant(tab)); 193 EXPECT_TRUE(IconAnimationInvariant(tab));
199 } 194 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/tabs/tab.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698