Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/files/file_path.h" | 6 #include "base/files/file_path.h" |
| 7 #include "base/strings/string_util.h" | 7 #include "base/strings/string_util.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "chrome/browser/chrome_notification_types.h" | 9 #include "chrome/browser/chrome_notification_types.h" |
| 10 #include "chrome/browser/infobars/infobar_service.h" | 10 #include "chrome/browser/infobars/infobar_service.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 | 42 |
| 43 }; // namespace | 43 }; // namespace |
| 44 | 44 |
| 45 class TranslateBrowserTest : public InProcessBrowserTest { | 45 class TranslateBrowserTest : public InProcessBrowserTest { |
| 46 public: | 46 public: |
| 47 TranslateBrowserTest() | 47 TranslateBrowserTest() |
| 48 : https_server_(net::SpawnedTestServer::TYPE_HTTPS, | 48 : https_server_(net::SpawnedTestServer::TYPE_HTTPS, |
| 49 SSLOptions(SSLOptions::CERT_OK), | 49 SSLOptions(SSLOptions::CERT_OK), |
| 50 base::FilePath(kTranslateRoot)) {} | 50 base::FilePath(kTranslateRoot)) {} |
| 51 | 51 |
| 52 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 52 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 53 ASSERT_TRUE(https_server_.Start()); | 53 ASSERT_TRUE(https_server_.Start()); |
| 54 // Setup altenate security-origin for testing. | |
| 55 GURL origin = GetSecureURL(""); | |
| 56 command_line->AppendSwitchASCII(switches::kTranslateSecurityOrigin, | |
| 57 origin.spec()); | |
| 54 } | 58 } |
| 55 | 59 |
| 56 protected: | 60 protected: |
| 57 GURL GetNonSecureURL(const std::string& path) const { | 61 GURL GetNonSecureURL(const std::string& path) const { |
| 58 std::string prefix(kNonSecurePrefix); | 62 std::string prefix(kNonSecurePrefix); |
| 59 return embedded_test_server()->GetURL(prefix + path); | 63 return embedded_test_server()->GetURL(prefix + path); |
| 60 } | 64 } |
| 61 | 65 |
| 62 GURL GetSecureURL(const std::string& path) const { | 66 GURL GetSecureURL(const std::string& path) const { |
| 63 std::string prefix(kSecurePrefix); | 67 std::string prefix(kSecurePrefix); |
| 64 return https_server_.GetURL(prefix + path); | 68 return https_server_.GetURL(prefix + path); |
| 65 } | 69 } |
| 66 | 70 |
| 67 private: | 71 private: |
| 68 net::SpawnedTestServer https_server_; | 72 net::SpawnedTestServer https_server_; |
| 69 | 73 |
| 70 typedef net::SpawnedTestServer::SSLOptions SSLOptions; | 74 typedef net::SpawnedTestServer::SSLOptions SSLOptions; |
| 71 | 75 |
| 72 DISALLOW_COPY_AND_ASSIGN(TranslateBrowserTest); | 76 DISALLOW_COPY_AND_ASSIGN(TranslateBrowserTest); |
| 73 }; | 77 }; |
| 74 | 78 |
| 75 // TODO(toyoshim): This test should be changed to work in an isolated world. | 79 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, TranslateInIsolatedWorld) { |
| 76 // See also http://crbug.com/164547 . | |
| 77 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, DISABLED_Translate) { | |
| 78 #if defined(OS_WIN) && defined(USE_ASH) | 80 #if defined(OS_WIN) && defined(USE_ASH) |
| 79 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 81 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 80 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 82 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 81 return; | 83 return; |
| 82 #endif | 84 #endif |
| 83 | 85 |
| 84 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 86 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 85 | 87 |
| 86 content::WebContents* web_contents = | 88 content::WebContents* web_contents = |
| 87 browser()->tab_strip_model()->GetActiveWebContents(); | 89 browser()->tab_strip_model()->GetActiveWebContents(); |
| 88 ASSERT_TRUE(web_contents); | 90 ASSERT_TRUE(web_contents); |
| 89 | 91 |
| 90 net::TestURLFetcherFactory factory; | 92 net::TestURLFetcherFactory factory; |
| 91 | 93 |
| 92 // Setup infobar observer. | 94 // Setup infobar observer. |
| 93 InfoBarService* infobar_service = | 95 InfoBarService* infobar_service = |
| 94 InfoBarService::FromWebContents(web_contents); | 96 InfoBarService::FromWebContents(web_contents); |
| 95 ASSERT_TRUE(infobar_service); | 97 ASSERT_TRUE(infobar_service); |
| 96 EXPECT_EQ(0U, infobar_service->infobar_count()); | 98 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 99 ConfirmInfoBarDelegate* confirm = | |
| 100 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 101 EXPECT_TRUE(confirm); | |
|
hajimehoshi
2013/07/31 06:59:23
Please add comment to explain why the confirm info
| |
| 97 content::WindowedNotificationObserver infobar( | 102 content::WindowedNotificationObserver infobar( |
| 98 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED, | 103 chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED, |
| 99 content::NotificationService::AllSources()); | 104 content::NotificationService::AllSources()); |
| 100 | 105 |
| 101 // Setup page title observer. | 106 // Setup page title observer. |
| 102 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 107 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 103 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 108 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 104 | 109 |
| 105 // Visit non-secure page which is going to be translated. | 110 // Visit non-secure page which is going to be translated. |
| 106 ui_test_utils::NavigateToURL(browser(), GetNonSecureURL(kFrenchTestPath)); | 111 ui_test_utils::NavigateToURL(browser(), GetNonSecureURL(kFrenchTestPath)); |
| 107 | 112 |
| 108 // Wait for Chrome Translate infobar. | 113 // Wait for Chrome Translate infobar. |
| 109 infobar.Wait(); | 114 infobar.Wait(); |
| 110 | 115 |
| 111 // Perform Chrome Translate. | 116 // Perform Chrome Translate. |
| 112 ASSERT_EQ(1U, infobar_service->infobar_count()); | 117 ASSERT_EQ(2U, infobar_service->infobar_count()); |
| 118 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 119 EXPECT_TRUE(confirm); | |
| 120 | |
| 113 TranslateInfoBarDelegate* translate = | 121 TranslateInfoBarDelegate* translate = |
| 114 infobar_service->infobar_at(0)->AsTranslateInfoBarDelegate(); | 122 infobar_service->infobar_at(1)->AsTranslateInfoBarDelegate(); |
| 115 ASSERT_TRUE(translate); | 123 ASSERT_TRUE(translate); |
| 116 translate->Translate(); | 124 translate->Translate(); |
| 117 | 125 |
| 118 // Hook URLFetcher for element.js. | 126 // Hook URLFetcher for element.js. |
| 119 GURL script1_url = GetSecureURL(kMainScriptPath); | 127 GURL script1_url = GetSecureURL(kMainScriptPath); |
| 120 GURL script2_url = GetSecureURL(kElementMainScriptPath); | 128 GURL script2_url = GetSecureURL(kElementMainScriptPath); |
| 121 std::string element_js = "main_script_url = '" + script1_url.spec() + "';\n"; | 129 std::string element_js = "main_script_url = '" + script1_url.spec() + "';\n"; |
| 122 element_js += "element_main_script_url = '" + script2_url.spec() + "';\n"; | 130 element_js += "element_main_script_url = '" + script2_url.spec() + "';\n"; |
| 123 element_js += | 131 element_js += |
| 124 "google = { 'translate' : { 'TranslateService' : function() { return {\n" | 132 "google = { 'translate' : { 'TranslateService' : function() { return {\n" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 158 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 166 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 159 | 167 |
| 160 content::WebContents* web_contents = | 168 content::WebContents* web_contents = |
| 161 browser()->tab_strip_model()->GetActiveWebContents(); | 169 browser()->tab_strip_model()->GetActiveWebContents(); |
| 162 ASSERT_TRUE(web_contents); | 170 ASSERT_TRUE(web_contents); |
| 163 | 171 |
| 164 // Check infobar count. | 172 // Check infobar count. |
| 165 InfoBarService* infobar_service = | 173 InfoBarService* infobar_service = |
| 166 InfoBarService::FromWebContents(web_contents); | 174 InfoBarService::FromWebContents(web_contents); |
| 167 ASSERT_TRUE(infobar_service); | 175 ASSERT_TRUE(infobar_service); |
| 168 EXPECT_EQ(0U, infobar_service->infobar_count()); | 176 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 177 ConfirmInfoBarDelegate* confirm = | |
| 178 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 179 EXPECT_TRUE(confirm); | |
| 169 | 180 |
| 170 // Setup page title observer. | 181 // Setup page title observer. |
| 171 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 182 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 172 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 183 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 173 | 184 |
| 174 // Visit a test page. | 185 // Visit a test page. |
| 175 ui_test_utils::NavigateToURL( | 186 ui_test_utils::NavigateToURL( |
| 176 browser(), | 187 browser(), |
| 177 GetNonSecureURL(kRefreshMetaTagTestPath)); | 188 GetNonSecureURL(kRefreshMetaTagTestPath)); |
| 178 | 189 |
| 179 // Wait for the page title is changed after the test finished. | 190 // Wait for the page title is changed after the test finished. |
| 180 const string16 result = watcher.WaitAndGetTitle(); | 191 const string16 result = watcher.WaitAndGetTitle(); |
| 181 EXPECT_EQ("PASS", UTF16ToASCII(result)); | 192 EXPECT_EQ("PASS", UTF16ToASCII(result)); |
| 182 | 193 |
| 183 // Check there is not infobar. | 194 // Check there is not infobar. |
| 184 EXPECT_EQ(0U, infobar_service->infobar_count()); | 195 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 196 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 197 EXPECT_TRUE(confirm); | |
| 185 } | 198 } |
| 186 | 199 |
| 187 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, | 200 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, |
| 188 IgnoreRefreshMetaTagInCaseInsensitive) { | 201 IgnoreRefreshMetaTagInCaseInsensitive) { |
| 189 #if defined(OS_WIN) && defined(USE_ASH) | 202 #if defined(OS_WIN) && defined(USE_ASH) |
| 190 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 203 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 191 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 204 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 192 return; | 205 return; |
| 193 #endif | 206 #endif |
| 194 | 207 |
| 195 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 208 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 196 | 209 |
| 197 content::WebContents* web_contents = | 210 content::WebContents* web_contents = |
| 198 browser()->tab_strip_model()->GetActiveWebContents(); | 211 browser()->tab_strip_model()->GetActiveWebContents(); |
| 199 ASSERT_TRUE(web_contents); | 212 ASSERT_TRUE(web_contents); |
| 200 | 213 |
| 201 // Check infobar count. | 214 // Check infobar count. |
| 202 InfoBarService* infobar_service = | 215 InfoBarService* infobar_service = |
| 203 InfoBarService::FromWebContents(web_contents); | 216 InfoBarService::FromWebContents(web_contents); |
| 204 ASSERT_TRUE(infobar_service); | 217 ASSERT_TRUE(infobar_service); |
| 205 EXPECT_EQ(0U, infobar_service->infobar_count()); | 218 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 219 ConfirmInfoBarDelegate* confirm = | |
| 220 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 221 EXPECT_TRUE(confirm); | |
|
hajimehoshi
2013/07/31 07:04:01
ditto
| |
| 206 | 222 |
| 207 // Setup page title observer. | 223 // Setup page title observer. |
| 208 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 224 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 209 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 225 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 210 | 226 |
| 211 // Visit a test page. | 227 // Visit a test page. |
| 212 ui_test_utils::NavigateToURL( | 228 ui_test_utils::NavigateToURL( |
| 213 browser(), | 229 browser(), |
| 214 GetNonSecureURL(kRefreshMetaTagCaseInsensitiveTestPath)); | 230 GetNonSecureURL(kRefreshMetaTagCaseInsensitiveTestPath)); |
| 215 | 231 |
| 216 // Wait for the page title is changed after the test finished. | 232 // Wait for the page title is changed after the test finished. |
| 217 const string16 result = watcher.WaitAndGetTitle(); | 233 const string16 result = watcher.WaitAndGetTitle(); |
| 218 EXPECT_EQ("PASS", UTF16ToASCII(result)); | 234 EXPECT_EQ("PASS", UTF16ToASCII(result)); |
| 219 | 235 |
| 220 // Check there is not infobar. | 236 // Check there is not infobar. |
| 221 EXPECT_EQ(0U, infobar_service->infobar_count()); | 237 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 238 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 239 EXPECT_TRUE(confirm); | |
| 222 } | 240 } |
| 223 | 241 |
| 224 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTagAtOnload) { | 242 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, IgnoreRefreshMetaTagAtOnload) { |
| 225 #if defined(OS_WIN) && defined(USE_ASH) | 243 #if defined(OS_WIN) && defined(USE_ASH) |
| 226 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 244 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 227 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 245 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 228 return; | 246 return; |
| 229 #endif | 247 #endif |
| 230 | 248 |
| 231 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 249 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 232 | 250 |
| 233 content::WebContents* web_contents = | 251 content::WebContents* web_contents = |
| 234 browser()->tab_strip_model()->GetActiveWebContents(); | 252 browser()->tab_strip_model()->GetActiveWebContents(); |
| 235 ASSERT_TRUE(web_contents); | 253 ASSERT_TRUE(web_contents); |
| 236 | 254 |
| 237 // Check infobar count. | 255 // Check infobar count. |
| 238 InfoBarService* infobar_service = | 256 InfoBarService* infobar_service = |
| 239 InfoBarService::FromWebContents(web_contents); | 257 InfoBarService::FromWebContents(web_contents); |
| 240 ASSERT_TRUE(infobar_service); | 258 ASSERT_TRUE(infobar_service); |
| 241 EXPECT_EQ(0U, infobar_service->infobar_count()); | 259 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 260 ConfirmInfoBarDelegate* confirm = | |
| 261 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 262 EXPECT_TRUE(confirm); | |
|
hajimehoshi
2013/07/31 07:04:01
ditto
| |
| 242 | 263 |
| 243 // Setup page title observer. | 264 // Setup page title observer. |
| 244 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 265 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 245 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 266 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 246 | 267 |
| 247 // Visit a test page. | 268 // Visit a test page. |
| 248 ui_test_utils::NavigateToURL( | 269 ui_test_utils::NavigateToURL( |
| 249 browser(), | 270 browser(), |
| 250 GetNonSecureURL(kRefreshMetaTagAtOnloadTestPath)); | 271 GetNonSecureURL(kRefreshMetaTagAtOnloadTestPath)); |
| 251 | 272 |
| 252 // Wait for the page title is changed after the test finished. | 273 // Wait for the page title is changed after the test finished. |
| 253 const string16 result = watcher.WaitAndGetTitle(); | 274 const string16 result = watcher.WaitAndGetTitle(); |
| 254 EXPECT_EQ("PASS", UTF16ToASCII(result)); | 275 EXPECT_EQ("PASS", UTF16ToASCII(result)); |
| 255 | 276 |
| 256 // Check there is not infobar. | 277 // Check there is not infobar. |
| 257 EXPECT_EQ(0U, infobar_service->infobar_count()); | 278 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 279 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 280 EXPECT_TRUE(confirm); | |
| 258 } | 281 } |
| 259 | 282 |
| 260 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocation) { | 283 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocation) { |
| 261 #if defined(OS_WIN) && defined(USE_ASH) | 284 #if defined(OS_WIN) && defined(USE_ASH) |
| 262 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 285 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 263 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 286 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 264 return; | 287 return; |
| 265 #endif | 288 #endif |
| 266 | 289 |
| 267 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 290 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 268 | 291 |
| 269 content::WebContents* web_contents = | 292 content::WebContents* web_contents = |
| 270 browser()->tab_strip_model()->GetActiveWebContents(); | 293 browser()->tab_strip_model()->GetActiveWebContents(); |
| 271 ASSERT_TRUE(web_contents); | 294 ASSERT_TRUE(web_contents); |
| 272 | 295 |
| 273 // Check infobar count. | 296 // Check infobar count. |
| 274 InfoBarService* infobar_service = | 297 InfoBarService* infobar_service = |
| 275 InfoBarService::FromWebContents(web_contents); | 298 InfoBarService::FromWebContents(web_contents); |
| 276 ASSERT_TRUE(infobar_service); | 299 ASSERT_TRUE(infobar_service); |
| 277 EXPECT_EQ(0U, infobar_service->infobar_count()); | 300 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 301 ConfirmInfoBarDelegate* confirm = | |
| 302 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 303 EXPECT_TRUE(confirm); | |
|
hajimehoshi
2013/07/31 07:04:01
ditto
| |
| 278 | 304 |
| 279 // Setup page title observer. | 305 // Setup page title observer. |
| 280 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 306 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 281 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 307 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 282 | 308 |
| 283 // Visit a test page. | 309 // Visit a test page. |
| 284 ui_test_utils::NavigateToURL( | 310 ui_test_utils::NavigateToURL( |
| 285 browser(), | 311 browser(), |
| 286 GetNonSecureURL(kUpdateLocationTestPath)); | 312 GetNonSecureURL(kUpdateLocationTestPath)); |
| 287 | 313 |
| 288 // Wait for the page title is changed after the test finished. | 314 // Wait for the page title is changed after the test finished. |
| 289 const string16 result = watcher.WaitAndGetTitle(); | 315 const string16 result = watcher.WaitAndGetTitle(); |
| 290 EXPECT_EQ("PASS", UTF16ToASCII(result)); | 316 EXPECT_EQ("PASS", UTF16ToASCII(result)); |
| 291 | 317 |
| 292 // Check there is not infobar. | 318 // Check there is not infobar. |
| 293 EXPECT_EQ(0U, infobar_service->infobar_count()); | 319 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 320 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 321 EXPECT_TRUE(confirm); | |
| 294 } | 322 } |
| 295 | 323 |
| 296 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocationAtOnload) { | 324 IN_PROC_BROWSER_TEST_F(TranslateBrowserTest, UpdateLocationAtOnload) { |
| 297 #if defined(OS_WIN) && defined(USE_ASH) | 325 #if defined(OS_WIN) && defined(USE_ASH) |
| 298 // Disable this test in Metro+Ash for now (http://crbug.com/262796). | 326 // Disable this test in Metro+Ash for now (http://crbug.com/262796). |
| 299 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) | 327 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAshBrowserTests)) |
| 300 return; | 328 return; |
| 301 #endif | 329 #endif |
| 302 | 330 |
| 303 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 331 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| 304 | 332 |
| 305 content::WebContents* web_contents = | 333 content::WebContents* web_contents = |
| 306 browser()->tab_strip_model()->GetActiveWebContents(); | 334 browser()->tab_strip_model()->GetActiveWebContents(); |
| 307 ASSERT_TRUE(web_contents); | 335 ASSERT_TRUE(web_contents); |
| 308 | 336 |
| 309 // Check infobar count. | 337 // Check infobar count. |
| 310 InfoBarService* infobar_service = | 338 InfoBarService* infobar_service = |
| 311 InfoBarService::FromWebContents(web_contents); | 339 InfoBarService::FromWebContents(web_contents); |
| 312 ASSERT_TRUE(infobar_service); | 340 ASSERT_TRUE(infobar_service); |
| 313 EXPECT_EQ(0U, infobar_service->infobar_count()); | 341 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 342 ConfirmInfoBarDelegate* confirm = | |
| 343 infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 344 EXPECT_TRUE(confirm); | |
|
hajimehoshi
2013/07/31 07:04:01
ditto
| |
| 314 | 345 |
| 315 // Setup page title observer. | 346 // Setup page title observer. |
| 316 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); | 347 content::TitleWatcher watcher(web_contents, ASCIIToUTF16("PASS")); |
| 317 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); | 348 watcher.AlsoWaitForTitle(ASCIIToUTF16("FAIL")); |
| 318 | 349 |
| 319 // Visit a test page. | 350 // Visit a test page. |
| 320 ui_test_utils::NavigateToURL( | 351 ui_test_utils::NavigateToURL( |
| 321 browser(), | 352 browser(), |
| 322 GetNonSecureURL(kUpdateLocationAtOnloadTestPath)); | 353 GetNonSecureURL(kUpdateLocationAtOnloadTestPath)); |
| 323 | 354 |
| 324 // Wait for the page title is changed after the test finished. | 355 // Wait for the page title is changed after the test finished. |
| 325 const string16 result = watcher.WaitAndGetTitle(); | 356 const string16 result = watcher.WaitAndGetTitle(); |
| 326 EXPECT_EQ("PASS", UTF16ToASCII(result)); | 357 EXPECT_EQ("PASS", UTF16ToASCII(result)); |
| 327 | 358 |
| 328 // Check there is not infobar. | 359 // Check there is not infobar. |
| 329 EXPECT_EQ(0U, infobar_service->infobar_count()); | 360 EXPECT_EQ(1U, infobar_service->infobar_count()); |
| 361 confirm = infobar_service->infobar_at(0)->AsConfirmInfoBarDelegate(); | |
| 362 EXPECT_TRUE(confirm); | |
| 330 } | 363 } |
| OLD | NEW |