diff options
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/extensions/extension_browsertests_misc.cc | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/chrome/browser/extensions/extension_browsertests_misc.cc b/chrome/browser/extensions/extension_browsertests_misc.cc index 153d0a1..5d4ecdc 100644 --- a/chrome/browser/extensions/extension_browsertests_misc.cc +++ b/chrome/browser/extensions/extension_browsertests_misc.cc @@ -295,16 +295,20 @@ void GetParsedFeedData(Browser* browser, std::string* feed_title, std::string* item_title, std::string* item_desc, std::string* error) { ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( - browser->GetSelectedTabContents()->render_view_host(), L"", + browser->GetSelectedTabContents()->render_view_host(), + L"", // Title is on the main page, all the rest is in the IFRAME. jscript_feed_title, feed_title)); ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( - browser->GetSelectedTabContents()->render_view_host(), L"", + browser->GetSelectedTabContents()->render_view_host(), + L"//html/body/div/iframe[1]", jscript_anchor, item_title)); ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( - browser->GetSelectedTabContents()->render_view_host(), L"", + browser->GetSelectedTabContents()->render_view_host(), + L"//html/body/div/iframe[1]", jscript_desc, item_desc)); ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractString( - browser->GetSelectedTabContents()->render_view_host(), L"", + browser->GetSelectedTabContents()->render_view_host(), + L"//html/body/div/iframe[1]", jscript_error, error)); } @@ -329,6 +333,13 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeed) { EXPECT_STREQ("This is a summary.", item_desc.c_str()); EXPECT_STREQ("No error", error.c_str()); + ui_test_utils::NavigateToURL(browser(), GetFeedUrl("feed3.xml")); + GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error); + EXPECT_STREQ("Feed for 'Google Code buglist rss feed'", feed_title.c_str()); + EXPECT_STREQ("My dear title", item_title.c_str()); + EXPECT_STREQ("My dear content", item_desc.c_str()); + EXPECT_STREQ("No error", error.c_str()); + // Try a feed that doesn't exist. ui_test_utils::NavigateToURL(browser(), GetFeedUrl("feed_nonexistant.xml")); GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error); @@ -352,6 +363,15 @@ IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeed) { EXPECT_STREQ("element 'anchor_0' not found", item_title.c_str()); EXPECT_STREQ("element 'desc_0' not found", item_desc.c_str()); EXPECT_STREQ("Not a valid feed", error.c_str()); + + // Try a feed with a link with an onclick handler (before r27440 this would + // trigger a NOTREACHED). + ui_test_utils::NavigateToURL(browser(), GetFeedUrl("feed_script.xml")); + GetParsedFeedData(browser(), &feed_title, &item_title, &item_desc, &error); + EXPECT_STREQ("Feed for 'MyFeedTitle'", feed_title.c_str()); + EXPECT_STREQ("Title 1", item_title.c_str()); + EXPECT_STREQ("Desc VIDEO", item_desc.c_str()); + EXPECT_STREQ("No error", error.c_str()); } #if defined(OS_WIN) // TODO(port) - enable. |