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

Side by Side Diff: chrome/browser/extensions/script_badge_controller_unittest.cc

Issue 16295003: Update chrome/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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
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 <string> 5 #include <string>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 scoped_refptr<const Extension> extension = ExtensionBuilder() 78 scoped_refptr<const Extension> extension = ExtensionBuilder()
79 .SetManifest(DictionaryBuilder() 79 .SetManifest(DictionaryBuilder()
80 .Set("name", "Extension with page action") 80 .Set("name", "Extension with page action")
81 .Set("version", "1.0.0") 81 .Set("version", "1.0.0")
82 .Set("manifest_version", 2) 82 .Set("manifest_version", 2)
83 .Set("permissions", ListBuilder() 83 .Set("permissions", ListBuilder()
84 .Append("tabs")) 84 .Append("tabs"))
85 .Set("page_action", DictionaryBuilder() 85 .Set("page_action", DictionaryBuilder()
86 .Set("default_title", "Hello"))) 86 .Set("default_title", "Hello")))
87 .Build(); 87 .Build();
88 extension_service_->AddExtension(extension); 88 extension_service_->AddExtension(extension.get());
89 return extension; 89 return extension;
90 } 90 }
91 91
92 ExtensionAction* GetScriptBadge(const Extension& extension) { 92 ExtensionAction* GetScriptBadge(const Extension& extension) {
93 return ExtensionActionManager::Get(profile())->GetScriptBadge(extension); 93 return ExtensionActionManager::Get(profile())->GetScriptBadge(extension);
94 } 94 }
95 95
96 ExtensionService* extension_service_; 96 ExtensionService* extension_service_;
97 ScriptBadgeController* script_badge_controller_; 97 ScriptBadgeController* script_badge_controller_;
98 98
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 testing::ElementsAre()); 145 testing::ElementsAre());
146 146
147 TabHelper::ScriptExecutionObserver::ExecutingScriptsMap id_map; 147 TabHelper::ScriptExecutionObserver::ExecutingScriptsMap id_map;
148 id_map[extension->id()] = std::set<std::string>(); 148 id_map[extension->id()] = std::set<std::string>();
149 script_badge_controller_->OnScriptsExecuted( 149 script_badge_controller_->OnScriptsExecuted(
150 web_contents(), 150 web_contents(),
151 id_map, 151 id_map,
152 web_contents()->GetController().GetActiveEntry()->GetPageID(), 152 web_contents()->GetController().GetActiveEntry()->GetPageID(),
153 GURL(std::string())); 153 GURL(std::string()));
154 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 154 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
155 testing::ElementsAre(GetScriptBadge(*extension))); 155 testing::ElementsAre(GetScriptBadge(*extension.get())));
156 EXPECT_THAT(location_bar_updated.events, testing::Gt(0)); 156 EXPECT_THAT(location_bar_updated.events, testing::Gt(0));
157 }; 157 };
158 158
159 TEST_F(ScriptBadgeControllerTest, FragmentNavigation) { 159 TEST_F(ScriptBadgeControllerTest, FragmentNavigation) {
160 scoped_refptr<const Extension> extension = AddTestExtension(); 160 scoped_refptr<const Extension> extension = AddTestExtension();
161 Profile* profile = 161 Profile* profile =
162 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); 162 Profile::FromBrowserContext(web_contents()->GetBrowserContext());
163 163
164 // Establish a page id. 164 // Establish a page id.
165 NavigateAndCommit(GURL("http://www.google.com")); 165 NavigateAndCommit(GURL("http://www.google.com"));
166 166
167 // Run script. Should be a notification and a script badge. 167 // Run script. Should be a notification and a script badge.
168 { 168 {
169 content::NotificationRegistrar notification_registrar; 169 content::NotificationRegistrar notification_registrar;
170 CountingNotificationObserver location_bar_updated; 170 CountingNotificationObserver location_bar_updated;
171 notification_registrar.Add( 171 notification_registrar.Add(
172 &location_bar_updated, 172 &location_bar_updated,
173 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, 173 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
174 content::Source<Profile>(profile)); 174 content::Source<Profile>(profile));
175 175
176 TabHelper::ScriptExecutionObserver::ExecutingScriptsMap id_map; 176 TabHelper::ScriptExecutionObserver::ExecutingScriptsMap id_map;
177 id_map[extension->id()] = std::set<std::string>(); 177 id_map[extension->id()] = std::set<std::string>();
178 script_badge_controller_->OnScriptsExecuted( 178 script_badge_controller_->OnScriptsExecuted(
179 web_contents(), 179 web_contents(),
180 id_map, 180 id_map,
181 web_contents()->GetController().GetActiveEntry()->GetPageID(), 181 web_contents()->GetController().GetActiveEntry()->GetPageID(),
182 GURL(std::string())); 182 GURL(std::string()));
183 183
184 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 184 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
185 testing::ElementsAre(GetScriptBadge(*extension))); 185 testing::ElementsAre(GetScriptBadge(*extension.get())));
186 EXPECT_EQ(1, location_bar_updated.events); 186 EXPECT_EQ(1, location_bar_updated.events);
187 } 187 }
188 188
189 // Navigate to a hash fragment. Shouldn't change. 189 // Navigate to a hash fragment. Shouldn't change.
190 { 190 {
191 content::NotificationRegistrar notification_registrar; 191 content::NotificationRegistrar notification_registrar;
192 CountingNotificationObserver location_bar_updated; 192 CountingNotificationObserver location_bar_updated;
193 notification_registrar.Add( 193 notification_registrar.Add(
194 &location_bar_updated, 194 &location_bar_updated,
195 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, 195 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
196 content::Source<Profile>(profile)); 196 content::Source<Profile>(profile));
197 197
198 NavigateAndCommit(GURL("http://www.google.com#hash")); 198 NavigateAndCommit(GURL("http://www.google.com#hash"));
199 199
200 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 200 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
201 testing::ElementsAre(GetScriptBadge(*extension))); 201 testing::ElementsAre(GetScriptBadge(*extension.get())));
202 EXPECT_EQ(0, location_bar_updated.events); 202 EXPECT_EQ(0, location_bar_updated.events);
203 } 203 }
204 204
205 // Refreshing the page should reset the badges. 205 // Refreshing the page should reset the badges.
206 { 206 {
207 content::NotificationRegistrar notification_registrar; 207 content::NotificationRegistrar notification_registrar;
208 CountingNotificationObserver location_bar_updated; 208 CountingNotificationObserver location_bar_updated;
209 notification_registrar.Add( 209 notification_registrar.Add(
210 &location_bar_updated, 210 &location_bar_updated,
211 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, 211 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
(...skipping 11 matching lines...) Expand all
223 223
224 scoped_refptr<const Extension> extension = 224 scoped_refptr<const Extension> extension =
225 ExtensionBuilder() 225 ExtensionBuilder()
226 .SetManifest(DictionaryBuilder() 226 .SetManifest(DictionaryBuilder()
227 .Set("name", "Extension") 227 .Set("name", "Extension")
228 .Set("version", "1.0.0") 228 .Set("version", "1.0.0")
229 .Set("manifest_version", 2) 229 .Set("manifest_version", 2)
230 .Set("permissions", ListBuilder() 230 .Set("permissions", ListBuilder()
231 .Append("tabs"))) 231 .Append("tabs")))
232 .Build(); 232 .Build();
233 extension_service_->AddExtension(extension); 233 extension_service_->AddExtension(extension.get());
234 234
235 // Establish a page id. 235 // Establish a page id.
236 NavigateAndCommit(GURL("http://www.google.com")); 236 NavigateAndCommit(GURL("http://www.google.com"));
237 237
238 CountingNotificationObserver initial_badge_display; 238 CountingNotificationObserver initial_badge_display;
239 Profile* profile = 239 Profile* profile =
240 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); 240 Profile::FromBrowserContext(web_contents()->GetBrowserContext());
241 notification_registrar.Add( 241 notification_registrar.Add(
242 &initial_badge_display, 242 &initial_badge_display,
243 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, 243 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
244 content::Source<Profile>(profile)); 244 content::Source<Profile>(profile));
245 245
246 // Initially, no script badges. 246 // Initially, no script badges.
247 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 247 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
248 testing::ElementsAre()); 248 testing::ElementsAre());
249 249
250 // Getting attention the first time should display the badge. 250 // Getting attention the first time should display the badge.
251 script_badge_controller_->GetAttentionFor(extension->id()); 251 script_badge_controller_->GetAttentionFor(extension->id());
252 252
253 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 253 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
254 testing::ElementsAre(GetScriptBadge(*extension))); 254 testing::ElementsAre(GetScriptBadge(*extension.get())));
255 EXPECT_THAT(initial_badge_display.events, testing::Gt(0)); 255 EXPECT_THAT(initial_badge_display.events, testing::Gt(0));
256 256
257 CountingNotificationObserver subsequent_get_attention_call; 257 CountingNotificationObserver subsequent_get_attention_call;
258 notification_registrar.Add( 258 notification_registrar.Add(
259 &subsequent_get_attention_call, 259 &subsequent_get_attention_call,
260 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED, 260 chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
261 content::Source<Profile>(profile)); 261 content::Source<Profile>(profile));
262 262
263 // Getting attention a second time should have no effect. 263 // Getting attention a second time should have no effect.
264 script_badge_controller_->GetAttentionFor(extension->id()); 264 script_badge_controller_->GetAttentionFor(extension->id());
265 265
266 EXPECT_THAT(script_badge_controller_->GetCurrentActions(), 266 EXPECT_THAT(script_badge_controller_->GetCurrentActions(),
267 testing::ElementsAre(GetScriptBadge(*extension))); 267 testing::ElementsAre(GetScriptBadge(*extension.get())));
268 EXPECT_EQ(0, subsequent_get_attention_call.events); 268 EXPECT_EQ(0, subsequent_get_attention_call.events);
269 }; 269 };
270 270
271 } // namespace 271 } // namespace
272 } // namespace extensions 272 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/sandboxed_unpacker.cc ('k') | chrome/browser/extensions/script_bubble_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698