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

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

Issue 3034038: GTTF: Move more test server code from net/url_request/url_request_unittest.h (Closed)
Patch Set: hopefully final Created 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/ref_counted.h" 5 #include "base/ref_counted.h"
6 #include "chrome/browser/browser.h" 6 #include "chrome/browser/browser.h"
7 #include "chrome/browser/browser_list.h" 7 #include "chrome/browser/browser_list.h"
8 #include "chrome/browser/renderer_host/render_view_host.h" 8 #include "chrome/browser/renderer_host/render_view_host.h"
9 #include "chrome/browser/extensions/autoupdate_interceptor.h" 9 #include "chrome/browser/extensions/autoupdate_interceptor.h"
10 #include "chrome/browser/extensions/extension_browsertest.h" 10 #include "chrome/browser/extensions/extension_browsertest.h"
11 #include "chrome/browser/extensions/extension_error_reporter.h" 11 #include "chrome/browser/extensions/extension_error_reporter.h"
12 #include "chrome/browser/extensions/extension_host.h" 12 #include "chrome/browser/extensions/extension_host.h"
13 #include "chrome/browser/extensions/extension_process_manager.h" 13 #include "chrome/browser/extensions/extension_process_manager.h"
14 #include "chrome/browser/extensions/extension_tabs_module.h" 14 #include "chrome/browser/extensions/extension_tabs_module.h"
15 #include "chrome/browser/extensions/extensions_service.h" 15 #include "chrome/browser/extensions/extensions_service.h"
16 #include "chrome/browser/extensions/extension_updater.h" 16 #include "chrome/browser/extensions/extension_updater.h"
17 #include "chrome/browser/profile.h" 17 #include "chrome/browser/profile.h"
18 #include "chrome/browser/renderer_host/site_instance.h" 18 #include "chrome/browser/renderer_host/site_instance.h"
19 #include "chrome/browser/tab_contents/tab_contents.h" 19 #include "chrome/browser/tab_contents/tab_contents.h"
20 #if defined(TOOLKIT_VIEWS) 20 #if defined(TOOLKIT_VIEWS)
21 #include "chrome/browser/views/extensions/extension_shelf.h" 21 #include "chrome/browser/views/extensions/extension_shelf.h"
22 #include "chrome/browser/views/frame/browser_view.h" 22 #include "chrome/browser/views/frame/browser_view.h"
23 #endif 23 #endif
24 #include "chrome/common/chrome_paths.h" 24 #include "chrome/common/chrome_paths.h"
25 #include "chrome/common/extensions/extension_action.h" 25 #include "chrome/common/extensions/extension_action.h"
26 #include "chrome/common/notification_service.h" 26 #include "chrome/common/notification_service.h"
27 #include "chrome/common/url_constants.h" 27 #include "chrome/common/url_constants.h"
28 #include "chrome/test/ui_test_utils.h" 28 #include "chrome/test/ui_test_utils.h"
29 #include "net/base/net_util.h" 29 #include "net/base/net_util.h"
30 #include "net/test/test_server.h"
30 31
31 const std::string kSubscribePage = "/subscribe.html"; 32 const std::string kSubscribePage = "/subscribe.html";
32 const std::string kFeedPage = "files/feeds/feed.html"; 33 const std::string kFeedPage = "files/feeds/feed.html";
33 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html"; 34 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html";
34 const std::string kNoFeedPage = "files/feeds/no_feed.html"; 35 const std::string kNoFeedPage = "files/feeds/no_feed.html";
35 const std::string kValidFeed0 = "files/feeds/feed_script.xml"; 36 const std::string kValidFeed0 = "files/feeds/feed_script.xml";
36 const std::string kValidFeed1 = "files/feeds/feed1.xml"; 37 const std::string kValidFeed1 = "files/feeds/feed1.xml";
37 const std::string kValidFeed2 = "files/feeds/feed2.xml"; 38 const std::string kValidFeed2 = "files/feeds/feed2.xml";
38 const std::string kValidFeed3 = "files/feeds/feed3.xml"; 39 const std::string kValidFeed3 = "files/feeds/feed3.xml";
39 const std::string kValidFeed4 = "files/feeds/feed4.xml"; 40 const std::string kValidFeed4 = "files/feeds/feed4.xml";
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html")); 200 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html"));
200 result = false; 201 result = false;
201 ui_test_utils::ExecuteJavaScriptAndExtractBool( 202 ui_test_utils::ExecuteJavaScriptAndExtractBool(
202 browser()->GetSelectedTabContents()->render_view_host(), L"", 203 browser()->GetSelectedTabContents()->render_view_host(), L"",
203 L"testTabsAPI()", &result); 204 L"testTabsAPI()", &result);
204 EXPECT_TRUE(result); 205 EXPECT_TRUE(result);
205 } 206 }
206 207
207 // Tests that we can load page actions in the Omnibox. 208 // Tests that we can load page actions in the Omnibox.
208 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PageAction) { 209 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PageAction) {
209 HTTPTestServer* server = StartHTTPServer(); 210 net::HTTPTestServer* server = StartHTTPServer();
210 ASSERT_TRUE(server); 211 ASSERT_TRUE(server);
211 212
212 // This page action will not show an icon, since it doesn't specify one but 213 // This page action will not show an icon, since it doesn't specify one but
213 // is included here to test for a crash (http://crbug.com/25562). 214 // is included here to test for a crash (http://crbug.com/25562).
214 ASSERT_TRUE(LoadExtension( 215 ASSERT_TRUE(LoadExtension(
215 test_data_dir_.AppendASCII("browsertest") 216 test_data_dir_.AppendASCII("browsertest")
216 .AppendASCII("crash_25562"))); 217 .AppendASCII("crash_25562")));
217 218
218 ASSERT_TRUE(LoadExtension( 219 ASSERT_TRUE(LoadExtension(
219 test_data_dir_.AppendASCII("subscribe_page_action"))); 220 test_data_dir_.AppendASCII("subscribe_page_action")));
220 221
221 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0)); 222 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0));
222 223
223 // Navigate to the feed page. 224 // Navigate to the feed page.
224 GURL feed_url = server->TestServerPage(kFeedPage); 225 GURL feed_url = server->TestServerPage(kFeedPage);
225 ui_test_utils::NavigateToURL(browser(), feed_url); 226 ui_test_utils::NavigateToURL(browser(), feed_url);
226 // We should now have one page action ready to go in the LocationBar. 227 // We should now have one page action ready to go in the LocationBar.
227 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 228 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1));
228 229
229 // Navigate to a page with no feed. 230 // Navigate to a page with no feed.
230 GURL no_feed = server->TestServerPage(kNoFeedPage); 231 GURL no_feed = server->TestServerPage(kNoFeedPage);
231 ui_test_utils::NavigateToURL(browser(), no_feed); 232 ui_test_utils::NavigateToURL(browser(), no_feed);
232 // Make sure the page action goes away. 233 // Make sure the page action goes away.
233 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0)); 234 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0));
234 } 235 }
235 236
236 // Tests that we don't lose the page action icon on in-page navigations. 237 // Tests that we don't lose the page action icon on in-page navigations.
237 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PageActionInPageNavigation) { 238 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PageActionInPageNavigation) {
238 HTTPTestServer* server = StartHTTPServer(); 239 net::HTTPTestServer* server = StartHTTPServer();
239 ASSERT_TRUE(server); 240 ASSERT_TRUE(server);
240 241
241 FilePath extension_path(test_data_dir_.AppendASCII("api_test") 242 FilePath extension_path(test_data_dir_.AppendASCII("api_test")
242 .AppendASCII("page_action") 243 .AppendASCII("page_action")
243 .AppendASCII("hash_change")); 244 .AppendASCII("hash_change"));
244 ASSERT_TRUE(LoadExtension(extension_path)); 245 ASSERT_TRUE(LoadExtension(extension_path));
245 246
246 // Page action should become visible when we navigate here. 247 // Page action should become visible when we navigate here.
247 GURL feed_url = server->TestServerPage(kHashPageA); 248 GURL feed_url = server->TestServerPage(kHashPageA);
248 ui_test_utils::NavigateToURL(browser(), feed_url); 249 ui_test_utils::NavigateToURL(browser(), feed_url);
249 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 250 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1));
250 251
251 // In-page navigation, page action should remain. 252 // In-page navigation, page action should remain.
252 feed_url = server->TestServerPage(kHashPageAHash); 253 feed_url = server->TestServerPage(kHashPageAHash);
253 ui_test_utils::NavigateToURL(browser(), feed_url); 254 ui_test_utils::NavigateToURL(browser(), feed_url);
254 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 255 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1));
255 256
256 // Not an in-page navigation, page action should go away. 257 // Not an in-page navigation, page action should go away.
257 feed_url = server->TestServerPage(kHashPageB); 258 feed_url = server->TestServerPage(kHashPageB);
258 ui_test_utils::NavigateToURL(browser(), feed_url); 259 ui_test_utils::NavigateToURL(browser(), feed_url);
259 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0)); 260 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0));
260 } 261 }
261 262
262 // Tests that the location bar forgets about unloaded page actions. 263 // Tests that the location bar forgets about unloaded page actions.
263 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, UnloadPageAction) { 264 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, UnloadPageAction) {
264 HTTPTestServer* server = StartHTTPServer(); 265 net::HTTPTestServer* server = StartHTTPServer();
265 ASSERT_TRUE(server); 266 ASSERT_TRUE(server);
266 267
267 FilePath extension_path(test_data_dir_.AppendASCII("subscribe_page_action")); 268 FilePath extension_path(test_data_dir_.AppendASCII("subscribe_page_action"));
268 ASSERT_TRUE(LoadExtension(extension_path)); 269 ASSERT_TRUE(LoadExtension(extension_path));
269 270
270 // Navigation prompts the location bar to load page actions. 271 // Navigation prompts the location bar to load page actions.
271 GURL feed_url = server->TestServerPage(kFeedPage); 272 GURL feed_url = server->TestServerPage(kFeedPage);
272 ui_test_utils::NavigateToURL(browser(), feed_url); 273 ui_test_utils::NavigateToURL(browser(), feed_url);
273 ASSERT_TRUE(WaitForPageActionCountChangeTo(1)); 274 ASSERT_TRUE(WaitForPageActionCountChangeTo(1));
274 275
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 310
310 ReloadExtension(extensionB->id()); 311 ReloadExtension(extensionB->id());
311 312
312 // This is where it would crash, before http://crbug.com/44415 was fixed. 313 // This is where it would crash, before http://crbug.com/44415 was fixed.
313 ReloadExtension(extensionA->id()); 314 ReloadExtension(extensionA->id());
314 } 315 }
315 316
316 // Makes sure that the RSS detects RSS feed links, even when rel tag contains 317 // Makes sure that the RSS detects RSS feed links, even when rel tag contains
317 // more than just "alternate". 318 // more than just "alternate".
318 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, RSSMultiRelLink) { 319 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, RSSMultiRelLink) {
319 HTTPTestServer* server = StartHTTPServer(); 320 net::HTTPTestServer* server = StartHTTPServer();
320 ASSERT_TRUE(server); 321 ASSERT_TRUE(server);
321 322
322 ASSERT_TRUE(LoadExtension( 323 ASSERT_TRUE(LoadExtension(
323 test_data_dir_.AppendASCII("subscribe_page_action"))); 324 test_data_dir_.AppendASCII("subscribe_page_action")));
324 325
325 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0)); 326 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(0));
326 327
327 // Navigate to the feed page. 328 // Navigate to the feed page.
328 GURL feed_url = server->TestServerPage(kFeedPageMultiRel); 329 GURL feed_url = server->TestServerPage(kFeedPageMultiRel);
329 ui_test_utils::NavigateToURL(browser(), feed_url); 330 ui_test_utils::NavigateToURL(browser(), feed_url);
(...skipping 18 matching lines...) Expand all
348 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), 349 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(),
349 extension->name().c_str()); 350 extension->name().c_str());
350 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents()); 351 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents());
351 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), 352 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(),
352 extension->browser_action()->GetTitle(tab_id).c_str()); 353 extension->browser_action()->GetTitle(tab_id).c_str());
353 } 354 }
354 355
355 // Tests that tooltips of a page action icon can be specified using UTF8. 356 // Tests that tooltips of a page action icon can be specified using UTF8.
356 // See http://crbug.com/25349. 357 // See http://crbug.com/25349.
357 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, TitleLocalizationPageAction) { 358 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, TitleLocalizationPageAction) {
358 HTTPTestServer* server = StartHTTPServer(); 359 net::HTTPTestServer* server = StartHTTPServer();
359 ASSERT_TRUE(server); 360 ASSERT_TRUE(server);
360 361
361 ExtensionsService* service = browser()->profile()->GetExtensionsService(); 362 ExtensionsService* service = browser()->profile()->GetExtensionsService();
362 const size_t size_before = service->extensions()->size(); 363 const size_t size_before = service->extensions()->size();
363 364
364 FilePath extension_path(test_data_dir_.AppendASCII("browsertest") 365 FilePath extension_path(test_data_dir_.AppendASCII("browsertest")
365 .AppendASCII("title_localized_pa")); 366 .AppendASCII("title_localized_pa"));
366 ASSERT_TRUE(LoadExtension(extension_path)); 367 ASSERT_TRUE(LoadExtension(extension_path));
367 368
368 // Any navigation prompts the location bar to load the page action. 369 // Any navigation prompts the location bar to load the page action.
369 GURL url = server->TestServerPage(kLocalization); 370 GURL url = server->TestServerPage(kLocalization);
370 ui_test_utils::NavigateToURL(browser(), url); 371 ui_test_utils::NavigateToURL(browser(), url);
371 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); 372 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1));
372 373
373 ASSERT_EQ(size_before + 1, service->extensions()->size()); 374 ASSERT_EQ(size_before + 1, service->extensions()->size());
374 Extension* extension = service->extensions()->at(size_before); 375 Extension* extension = service->extensions()->at(size_before);
375 376
376 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n page action").c_str(), 377 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n page action").c_str(),
377 extension->description().c_str()); 378 extension->description().c_str());
378 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), 379 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(),
379 extension->name().c_str()); 380 extension->name().c_str());
380 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents()); 381 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents());
381 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), 382 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(),
382 extension->page_action()->GetTitle(tab_id).c_str()); 383 extension->page_action()->GetTitle(tab_id).c_str());
383 } 384 }
384 385
385 GURL GetFeedUrl(HTTPTestServer* server, const std::string& feed_page, 386 GURL GetFeedUrl(net::HTTPTestServer* server, const std::string& feed_page,
386 bool direct_url, std::string extension_id) { 387 bool direct_url, std::string extension_id) {
387 GURL feed_url = server->TestServerPage(feed_page); 388 GURL feed_url = server->TestServerPage(feed_page);
388 if (direct_url) { 389 if (direct_url) {
389 // We navigate directly to the subscribe page for feeds where the feed 390 // We navigate directly to the subscribe page for feeds where the feed
390 // sniffing won't work, in other words, as is the case for malformed feeds. 391 // sniffing won't work, in other words, as is the case for malformed feeds.
391 return GURL(std::string(chrome::kExtensionScheme) + 392 return GURL(std::string(chrome::kExtensionScheme) +
392 chrome::kStandardSchemeSeparator + 393 chrome::kStandardSchemeSeparator +
393 extension_id + std::string(kSubscribePage) + std::string("?") + 394 extension_id + std::string(kSubscribePage) + std::string("?") +
394 feed_url.spec() + std::string("&synchronous")); 395 feed_url.spec() + std::string("&synchronous"));
395 } else { 396 } else {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 return false; 439 return false;
439 440
440 EXPECT_STREQ(expected_value.c_str(), returned_value.c_str()); 441 EXPECT_STREQ(expected_value.c_str(), returned_value.c_str());
441 return expected_value == returned_value; 442 return expected_value == returned_value;
442 } 443 }
443 444
444 // Navigates to a feed page and, if |sniff_xml_type| is set, wait for the 445 // Navigates to a feed page and, if |sniff_xml_type| is set, wait for the
445 // extension to kick in, detect the feed and redirect to a feed preview page. 446 // extension to kick in, detect the feed and redirect to a feed preview page.
446 // |sniff_xml_type| is generally set to true if the feed is sniffable and false 447 // |sniff_xml_type| is generally set to true if the feed is sniffable and false
447 // for invalid feeds. 448 // for invalid feeds.
448 void NavigateToFeedAndValidate(HTTPTestServer* server, 449 void NavigateToFeedAndValidate(net::HTTPTestServer* server,
449 const std::string& url, 450 const std::string& url,
450 Browser* browser, 451 Browser* browser,
451 bool sniff_xml_type, 452 bool sniff_xml_type,
452 const std::string& expected_feed_title, 453 const std::string& expected_feed_title,
453 const std::string& expected_item_title, 454 const std::string& expected_item_title,
454 const std::string& expected_item_desc, 455 const std::string& expected_item_desc,
455 const std::string& expected_error) { 456 const std::string& expected_error) {
456 if (sniff_xml_type) { 457 if (sniff_xml_type) {
457 // TODO(finnur): Implement this is a non-flaky way. 458 // TODO(finnur): Implement this is a non-flaky way.
458 } 459 }
(...skipping 18 matching lines...) Expand all
477 L"//html/body/div/iframe[1]", 478 L"//html/body/div/iframe[1]",
478 jscript_desc, 479 jscript_desc,
479 expected_item_desc)); 480 expected_item_desc));
480 ASSERT_TRUE(ValidatePageElement(tab, 481 ASSERT_TRUE(ValidatePageElement(tab,
481 L"//html/body/div/iframe[1]", 482 L"//html/body/div/iframe[1]",
482 jscript_error, 483 jscript_error,
483 expected_error)); 484 expected_error));
484 } 485 }
485 486
486 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed1) { 487 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed1) {
487 HTTPTestServer* server = StartHTTPServer(); 488 net::HTTPTestServer* server = StartHTTPServer();
488 ASSERT_TRUE(server); 489 ASSERT_TRUE(server);
489 490
490 ASSERT_TRUE(LoadExtension( 491 ASSERT_TRUE(LoadExtension(
491 test_data_dir_.AppendASCII("subscribe_page_action"))); 492 test_data_dir_.AppendASCII("subscribe_page_action")));
492 493
493 NavigateToFeedAndValidate(server, kValidFeed1, browser(), true, 494 NavigateToFeedAndValidate(server, kValidFeed1, browser(), true,
494 "Feed for MyFeedTitle", 495 "Feed for MyFeedTitle",
495 "Title 1", 496 "Title 1",
496 "Desc", 497 "Desc",
497 "No error"); 498 "No error");
498 } 499 }
499 500
500 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed2) { 501 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed2) {
501 HTTPTestServer* server = StartHTTPServer(); 502 net::HTTPTestServer* server = StartHTTPServer();
502 ASSERT_TRUE(server); 503 ASSERT_TRUE(server);
503 504
504 ASSERT_TRUE(LoadExtension( 505 ASSERT_TRUE(LoadExtension(
505 test_data_dir_.AppendASCII("subscribe_page_action"))); 506 test_data_dir_.AppendASCII("subscribe_page_action")));
506 507
507 NavigateToFeedAndValidate(server, kValidFeed2, browser(), true, 508 NavigateToFeedAndValidate(server, kValidFeed2, browser(), true,
508 "Feed for MyFeed2", 509 "Feed for MyFeed2",
509 "My item title1", 510 "My item title1",
510 "This is a summary.", 511 "This is a summary.",
511 "No error"); 512 "No error");
512 } 513 }
513 514
514 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed3) { 515 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed3) {
515 HTTPTestServer* server = StartHTTPServer(); 516 net::HTTPTestServer* server = StartHTTPServer();
516 ASSERT_TRUE(server); 517 ASSERT_TRUE(server);
517 518
518 ASSERT_TRUE(LoadExtension( 519 ASSERT_TRUE(LoadExtension(
519 test_data_dir_.AppendASCII("subscribe_page_action"))); 520 test_data_dir_.AppendASCII("subscribe_page_action")));
520 521
521 NavigateToFeedAndValidate(server, kValidFeed3, browser(), true, 522 NavigateToFeedAndValidate(server, kValidFeed3, browser(), true,
522 "Feed for Google Code buglist rss feed", 523 "Feed for Google Code buglist rss feed",
523 "My dear title", 524 "My dear title",
524 "My dear content", 525 "My dear content",
525 "No error"); 526 "No error");
526 } 527 }
527 528
528 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed4) { 529 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed4) {
529 HTTPTestServer* server = StartHTTPServer(); 530 net::HTTPTestServer* server = StartHTTPServer();
530 ASSERT_TRUE(server); 531 ASSERT_TRUE(server);
531 532
532 ASSERT_TRUE(LoadExtension( 533 ASSERT_TRUE(LoadExtension(
533 test_data_dir_.AppendASCII("subscribe_page_action"))); 534 test_data_dir_.AppendASCII("subscribe_page_action")));
534 535
535 NavigateToFeedAndValidate(server, kValidFeed4, browser(), true, 536 NavigateToFeedAndValidate(server, kValidFeed4, browser(), true,
536 "Feed for Title chars <script> %23 stop", 537 "Feed for Title chars <script> %23 stop",
537 "Title chars %23 stop", 538 "Title chars %23 stop",
538 "My dear content %23 stop", 539 "My dear content %23 stop",
539 "No error"); 540 "No error");
540 } 541 }
541 542
542 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed0) { 543 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed0) {
543 HTTPTestServer* server = StartHTTPServer(); 544 net::HTTPTestServer* server = StartHTTPServer();
544 ASSERT_TRUE(server); 545 ASSERT_TRUE(server);
545 546
546 ASSERT_TRUE(LoadExtension( 547 ASSERT_TRUE(LoadExtension(
547 test_data_dir_.AppendASCII("subscribe_page_action"))); 548 test_data_dir_.AppendASCII("subscribe_page_action")));
548 549
549 // Try a feed with a link with an onclick handler (before r27440 this would 550 // Try a feed with a link with an onclick handler (before r27440 this would
550 // trigger a NOTREACHED). 551 // trigger a NOTREACHED).
551 NavigateToFeedAndValidate(server, kValidFeed0, browser(), true, 552 NavigateToFeedAndValidate(server, kValidFeed0, browser(), true,
552 "Feed for MyFeedTitle", 553 "Feed for MyFeedTitle",
553 "Title 1", 554 "Title 1",
554 "Desc VIDEO", 555 "Desc VIDEO",
555 "No error"); 556 "No error");
556 } 557 }
557 558
558 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed5) { 559 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed5) {
559 HTTPTestServer* server = StartHTTPServer(); 560 net::HTTPTestServer* server = StartHTTPServer();
560 ASSERT_TRUE(server); 561 ASSERT_TRUE(server);
561 562
562 ASSERT_TRUE(LoadExtension( 563 ASSERT_TRUE(LoadExtension(
563 test_data_dir_.AppendASCII("subscribe_page_action"))); 564 test_data_dir_.AppendASCII("subscribe_page_action")));
564 565
565 // Feed with valid but mostly empty xml. 566 // Feed with valid but mostly empty xml.
566 NavigateToFeedAndValidate(server, kValidFeed5, browser(), true, 567 NavigateToFeedAndValidate(server, kValidFeed5, browser(), true,
567 "Feed for Unknown feed name", 568 "Feed for Unknown feed name",
568 "element 'anchor_0' not found", 569 "element 'anchor_0' not found",
569 "element 'desc_0' not found", 570 "element 'desc_0' not found",
570 "This feed contains no entries."); 571 "This feed contains no entries.");
571 } 572 }
572 573
573 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed6) { 574 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed6) {
574 HTTPTestServer* server = StartHTTPServer(); 575 net::HTTPTestServer* server = StartHTTPServer();
575 ASSERT_TRUE(server); 576 ASSERT_TRUE(server);
576 577
577 ASSERT_TRUE(LoadExtension( 578 ASSERT_TRUE(LoadExtension(
578 test_data_dir_.AppendASCII("subscribe_page_action"))); 579 test_data_dir_.AppendASCII("subscribe_page_action")));
579 580
580 // Feed that is technically invalid but still parseable. 581 // Feed that is technically invalid but still parseable.
581 NavigateToFeedAndValidate(server, kValidFeed6, browser(), true, 582 NavigateToFeedAndValidate(server, kValidFeed6, browser(), true,
582 "Feed for MyFeedTitle", 583 "Feed for MyFeedTitle",
583 "Title 1", 584 "Title 1",
584 "Desc", 585 "Desc",
585 "No error"); 586 "No error");
586 } 587 }
587 588
588 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed1) { 589 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed1) {
589 HTTPTestServer* server = StartHTTPServer(); 590 net::HTTPTestServer* server = StartHTTPServer();
590 ASSERT_TRUE(server); 591 ASSERT_TRUE(server);
591 592
592 ASSERT_TRUE(LoadExtension( 593 ASSERT_TRUE(LoadExtension(
593 test_data_dir_.AppendASCII("subscribe_page_action"))); 594 test_data_dir_.AppendASCII("subscribe_page_action")));
594 595
595 // Try an empty feed. 596 // Try an empty feed.
596 NavigateToFeedAndValidate(server, kInvalidFeed1, browser(), false, 597 NavigateToFeedAndValidate(server, kInvalidFeed1, browser(), false,
597 "Feed for Unknown feed name", 598 "Feed for Unknown feed name",
598 "element 'anchor_0' not found", 599 "element 'anchor_0' not found",
599 "element 'desc_0' not found", 600 "element 'desc_0' not found",
600 "This feed contains no entries."); 601 "This feed contains no entries.");
601 } 602 }
602 603
603 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed2) { 604 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed2) {
604 HTTPTestServer* server = StartHTTPServer(); 605 net::HTTPTestServer* server = StartHTTPServer();
605 ASSERT_TRUE(server); 606 ASSERT_TRUE(server);
606 607
607 ASSERT_TRUE(LoadExtension( 608 ASSERT_TRUE(LoadExtension(
608 test_data_dir_.AppendASCII("subscribe_page_action"))); 609 test_data_dir_.AppendASCII("subscribe_page_action")));
609 610
610 // Try a garbage feed. 611 // Try a garbage feed.
611 NavigateToFeedAndValidate(server, kInvalidFeed2, browser(), false, 612 NavigateToFeedAndValidate(server, kInvalidFeed2, browser(), false,
612 "Feed for Unknown feed name", 613 "Feed for Unknown feed name",
613 "element 'anchor_0' not found", 614 "element 'anchor_0' not found",
614 "element 'desc_0' not found", 615 "element 'desc_0' not found",
615 "This feed contains no entries."); 616 "This feed contains no entries.");
616 } 617 }
617 618
618 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed3) { 619 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed3) {
619 HTTPTestServer* server = StartHTTPServer(); 620 net::HTTPTestServer* server = StartHTTPServer();
620 ASSERT_TRUE(server); 621 ASSERT_TRUE(server);
621 622
622 ASSERT_TRUE(LoadExtension( 623 ASSERT_TRUE(LoadExtension(
623 test_data_dir_.AppendASCII("subscribe_page_action"))); 624 test_data_dir_.AppendASCII("subscribe_page_action")));
624 625
625 // Try a feed that doesn't exist. 626 // Try a feed that doesn't exist.
626 NavigateToFeedAndValidate(server, "foo.xml", browser(), false, 627 NavigateToFeedAndValidate(server, "foo.xml", browser(), false,
627 "Feed for Unknown feed name", 628 "Feed for Unknown feed name",
628 "element 'anchor_0' not found", 629 "element 'anchor_0' not found",
629 "element 'desc_0' not found", 630 "element 'desc_0' not found",
630 "This feed contains no entries."); 631 "This feed contains no entries.");
631 } 632 }
632 633
633 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeedNoLinks) { 634 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeedNoLinks) {
634 HTTPTestServer* server = StartHTTPServer(); 635 net::HTTPTestServer* server = StartHTTPServer();
635 ASSERT_TRUE(server); 636 ASSERT_TRUE(server);
636 637
637 ASSERT_TRUE(LoadExtension( 638 ASSERT_TRUE(LoadExtension(
638 test_data_dir_.AppendASCII("subscribe_page_action"))); 639 test_data_dir_.AppendASCII("subscribe_page_action")));
639 640
640 // Valid feed but containing no links. 641 // Valid feed but containing no links.
641 NavigateToFeedAndValidate(server, kValidFeedNoLinks, browser(), true, 642 NavigateToFeedAndValidate(server, kValidFeedNoLinks, browser(), true,
642 "Feed for MyFeedTitle", 643 "Feed for MyFeedTitle",
643 "Title with no link", 644 "Title with no link",
644 "Desc", 645 "Desc",
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 833
833 // If the options page hasn't already come up, wait for it. 834 // If the options page hasn't already come up, wait for it.
834 if (tab_strip->count() == 1) { 835 if (tab_strip->count() == 1) {
835 ui_test_utils::WaitForNewTab(browser()); 836 ui_test_utils::WaitForNewTab(browser());
836 } 837 }
837 ASSERT_EQ(2, tab_strip->count()); 838 ASSERT_EQ(2, tab_strip->count());
838 839
839 EXPECT_EQ(extension->GetResourceURL("options.html"), 840 EXPECT_EQ(extension->GetResourceURL("options.html"),
840 tab_strip->GetTabContentsAt(1)->GetURL()); 841 tab_strip->GetTabContentsAt(1)->GetURL());
841 } 842 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_browsertest.cc ('k') | chrome/browser/extensions/extension_messages_apitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698