OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import glob | 6 import glob |
7 import logging | 7 import logging |
8 import os | 8 import os |
9 import shutil | 9 import shutil |
10 import tempfile | 10 import tempfile |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 # Assert the default. | 205 # Assert the default. |
206 translate_info = self.GetTranslateInfo() | 206 translate_info = self.GetTranslateInfo() |
207 self.assertFalse(translate_info['page_translated']) | 207 self.assertFalse(translate_info['page_translated']) |
208 self.assertTrue('translate_bar' in translate_info) | 208 self.assertTrue('translate_bar' in translate_info) |
209 # Select 'Always Translate'. | 209 # Select 'Always Translate'. |
210 self.SelectTranslateOption('toggle_always_translate') | 210 self.SelectTranslateOption('toggle_always_translate') |
211 self._ClickTranslateUntilSuccess() | 211 self._ClickTranslateUntilSuccess() |
212 translate_info = self.GetTranslateInfo() | 212 translate_info = self.GetTranslateInfo() |
213 self.assertTrue(translate_info['page_translated']) | 213 self.assertTrue(translate_info['page_translated']) |
214 # Reload the tab and confirm the page was translated. | 214 # Reload the tab and confirm the page was translated. |
215 self.GetBrowserWindow(0).GetTab(0).Reload() | 215 self.ReloadTab() |
216 self.assertTrue(self.WaitForInfobarCount(1)) | 216 self.assertTrue(self.WaitForInfobarCount(1)) |
217 success = self.WaitUntilTranslateComplete() | 217 success = self.WaitUntilTranslateComplete() |
218 # Sometimes the translation fails. Continue clicking until it succeeds. | 218 # Sometimes the translation fails. Continue clicking until it succeeds. |
219 if not success: | 219 if not success: |
220 self._ClickTranslateUntilSuccess() | 220 self._ClickTranslateUntilSuccess() |
221 # Uncheck 'Always Translate' | 221 # Uncheck 'Always Translate' |
222 self.SelectTranslateOption('toggle_always_translate') | 222 self.SelectTranslateOption('toggle_always_translate') |
223 self.PerformActionOnInfobar('dismiss', 0) | 223 self.PerformActionOnInfobar('dismiss', 0) |
224 translate_info = self.GetTranslateInfo() | 224 translate_info = self.GetTranslateInfo() |
225 self.assertTrue(translate_info['page_translated']) | 225 self.assertTrue(translate_info['page_translated']) |
226 self.assertFalse('translate_bar' in translate_info) | 226 self.assertFalse('translate_bar' in translate_info) |
227 # Reload the tab and confirm that the page has not been translated. | 227 # Reload the tab and confirm that the page has not been translated. |
228 self.GetBrowserWindow(0).GetTab(0).Reload() | 228 self.ReloadTab() |
229 translate_info = self.GetTranslateInfo() | 229 translate_info = self.GetTranslateInfo() |
230 self.assertFalse(translate_info['page_translated']) | 230 self.assertFalse(translate_info['page_translated']) |
231 self.assertTrue('translate_bar' in translate_info) | 231 self.assertTrue('translate_bar' in translate_info) |
232 | 232 |
233 def testSessionRestore(self): | 233 def testSessionRestore(self): |
234 """Test that session restore restores the translate infobar and other | 234 """Test that session restore restores the translate infobar and other |
235 translate settings. | 235 translate settings. |
236 """ | 236 """ |
237 # Due to crbug.com/51439, we must open two tabs here. | 237 # Due to crbug.com/51439, we must open two tabs here. |
238 self.NavigateToURL("http://www.news.google.com") | 238 self.NavigateToURL("http://www.news.google.com") |
(...skipping 21 matching lines...) Expand all Loading... |
260 no_trans_url = self._GetDefaultEnglishURL() | 260 no_trans_url = self._GetDefaultEnglishURL() |
261 trans_url = self._GetDefaultSpanishURL() | 261 trans_url = self._GetDefaultSpanishURL() |
262 self._NavigateAndWaitForBar(trans_url) | 262 self._NavigateAndWaitForBar(trans_url) |
263 translate_info = self.GetTranslateInfo() | 263 translate_info = self.GetTranslateInfo() |
264 self.assertTrue('translate_bar' in translate_info) | 264 self.assertTrue('translate_bar' in translate_info) |
265 self.NavigateToURL(no_trans_url) | 265 self.NavigateToURL(no_trans_url) |
266 self.assertTrue(self.WaitForInfobarCount(0)) | 266 self.assertTrue(self.WaitForInfobarCount(0)) |
267 self.assertFalse('translate_bar' in self.GetTranslateInfo()) | 267 self.assertFalse('translate_bar' in self.GetTranslateInfo()) |
268 # Go back to the page that should be translated and assert that the | 268 # Go back to the page that should be translated and assert that the |
269 # translate bar re-appears. | 269 # translate bar re-appears. |
270 self.GetBrowserWindow(0).GetTab(0).GoBack() | 270 self.TabGoBack() |
271 self.assertTrue(self.WaitForInfobarCount(1)) | 271 self.assertTrue(self.WaitForInfobarCount(1)) |
272 self.assertTrue('translate_bar' in self.GetTranslateInfo()) | 272 self.assertTrue('translate_bar' in self.GetTranslateInfo()) |
273 | 273 |
274 # Now test going forward. | 274 # Now test going forward. |
275 self.NavigateToURL(no_trans_url) | 275 self.NavigateToURL(no_trans_url) |
276 translate_info = self.GetTranslateInfo() | 276 translate_info = self.GetTranslateInfo() |
277 self.assertFalse('translate_bar' in translate_info) | 277 self.assertFalse('translate_bar' in translate_info) |
278 self._AssertTranslateWorks(trans_url, self.spanish) | 278 self._AssertTranslateWorks(trans_url, self.spanish) |
279 self.GetBrowserWindow(0).GetTab(0).GoBack() | 279 self.TabGoBack() |
280 self.assertTrue(self.WaitForInfobarCount(0)) | 280 self.assertTrue(self.WaitForInfobarCount(0)) |
281 translate_info = self.GetTranslateInfo() | 281 translate_info = self.GetTranslateInfo() |
282 self.assertFalse('translate_bar' in translate_info) | 282 self.assertFalse('translate_bar' in translate_info) |
283 self.GetBrowserWindow(0).GetTab(0).GoForward() | 283 self.TabGoForward() |
284 self.assertTrue(self.WaitForInfobarCount(1)) | 284 self.assertTrue(self.WaitForInfobarCount(1)) |
285 translate_info = self.GetTranslateInfo() | 285 translate_info = self.GetTranslateInfo() |
286 self.assertTrue(translate_info['can_translate_page']) | 286 self.assertTrue(translate_info['can_translate_page']) |
287 self.assertTrue('translate_bar' in translate_info) | 287 self.assertTrue('translate_bar' in translate_info) |
288 | 288 |
289 def testForCrashedTab(self): | 289 def testForCrashedTab(self): |
290 """Tests that translate bar is dimissed if the renderer crashes.""" | 290 """Tests that translate bar is dimissed if the renderer crashes.""" |
291 crash_url = 'about:crash' | 291 crash_url = 'about:crash' |
292 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) | 292 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
293 translate_info = self.GetTranslateInfo() | 293 translate_info = self.GetTranslateInfo() |
(...skipping 18 matching lines...) Expand all Loading... |
312 | 312 |
313 def testAlwaysTranslateLanguageButton(self): | 313 def testAlwaysTranslateLanguageButton(self): |
314 """Test the always translate language button.""" | 314 """Test the always translate language button.""" |
315 spanish_url = self._GetDefaultSpanishURL() | 315 spanish_url = self._GetDefaultSpanishURL() |
316 self._NavigateAndWaitForBar(spanish_url) | 316 self._NavigateAndWaitForBar(spanish_url) |
317 | 317 |
318 # The 'Always Translate' button doesn't show up until the user has clicked | 318 # The 'Always Translate' button doesn't show up until the user has clicked |
319 # 'Translate' for a language 3 times. | 319 # 'Translate' for a language 3 times. |
320 for unused in range(3): | 320 for unused in range(3): |
321 self._ClickTranslateUntilSuccess() | 321 self._ClickTranslateUntilSuccess() |
322 self.GetBrowserWindow(0).GetTab(0).Reload() | 322 self.ReloadTab() |
323 | 323 |
324 # Click the 'Always Translate' button. | 324 # Click the 'Always Translate' button. |
325 self.assertTrue(self.GetTranslateInfo()\ | 325 self.assertTrue(self.GetTranslateInfo()\ |
326 ['translate_bar']['always_translate_lang_button_showing']) | 326 ['translate_bar']['always_translate_lang_button_showing']) |
327 self.SelectTranslateOption('click_always_translate_lang_button') | 327 self.SelectTranslateOption('click_always_translate_lang_button') |
328 # Navigate to another Spanish page and verify it was translated. | 328 # Navigate to another Spanish page and verify it was translated. |
329 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=es') | 329 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=es') |
330 self.WaitUntilTranslateComplete() | 330 self.WaitUntilTranslateComplete() |
331 # Assert that a translation was attempted. We don't care if it was error | 331 # Assert that a translation was attempted. We don't care if it was error |
332 # or success. | 332 # or success. |
333 self.assertNotEqual(self.before_translate, | 333 self.assertNotEqual(self.before_translate, |
334 self.GetTranslateInfo()['translate_bar']['bar_state']) | 334 self.GetTranslateInfo()['translate_bar']['bar_state']) |
335 | 335 |
336 def testNeverTranslateLanguageButton(self): | 336 def testNeverTranslateLanguageButton(self): |
337 """Test the never translate language button.""" | 337 """Test the never translate language button.""" |
338 spanish_url = self._GetDefaultSpanishURL() | 338 spanish_url = self._GetDefaultSpanishURL() |
339 self._NavigateAndWaitForBar(spanish_url) | 339 self._NavigateAndWaitForBar(spanish_url) |
340 | 340 |
341 # The 'Never Translate' button doesn't show up until the user has clicked | 341 # The 'Never Translate' button doesn't show up until the user has clicked |
342 # 'Nope' for a language 3 times. | 342 # 'Nope' for a language 3 times. |
343 for unused in range(3): | 343 for unused in range(3): |
344 self.SelectTranslateOption('decline_translation') | 344 self.SelectTranslateOption('decline_translation') |
345 self.GetBrowserWindow(0).GetTab(0).Reload() | 345 self.ReloadTab() |
346 | 346 |
347 # Click the 'Never Translate' button. | 347 # Click the 'Never Translate' button. |
348 self.assertTrue(self.GetTranslateInfo()\ | 348 self.assertTrue(self.GetTranslateInfo()\ |
349 ['translate_bar']['never_translate_lang_button_showing']) | 349 ['translate_bar']['never_translate_lang_button_showing']) |
350 self.SelectTranslateOption('click_never_translate_lang_button') | 350 self.SelectTranslateOption('click_never_translate_lang_button') |
351 # Navigate to another Spanish page and verify the page can't be translated. | 351 # Navigate to another Spanish page and verify the page can't be translated. |
352 # First navigate to a French page, wait for bar, navigate to Spanish page | 352 # First navigate to a French page, wait for bar, navigate to Spanish page |
353 # and wait for bar to go away. | 353 # and wait for bar to go away. |
354 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=fr') | 354 self._NavigateAndWaitForBar('http://www.google.com/webhp?hl=fr') |
355 self.NavigateToURL('http://www.google.com/webhp?hl=es') | 355 self.NavigateToURL('http://www.google.com/webhp?hl=es') |
356 self.assertTrue(self.WaitForInfobarCount(0)) | 356 self.assertTrue(self.WaitForInfobarCount(0)) |
357 self.assertFalse(self.GetTranslateInfo()['can_translate_page']) | 357 self.assertFalse(self.GetTranslateInfo()['can_translate_page']) |
358 | 358 |
359 def testChangeTargetLanguageAlwaysTranslate(self): | 359 def testChangeTargetLanguageAlwaysTranslate(self): |
360 """Tests that the change target language option works with always translate | 360 """Tests that the change target language option works with always translate |
361 on reload. | 361 on reload. |
362 | 362 |
363 This test is motivated by crbug.com/37313. | 363 This test is motivated by crbug.com/37313. |
364 """ | 364 """ |
365 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) | 365 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
366 self._ClickTranslateUntilSuccess() | 366 self._ClickTranslateUntilSuccess() |
367 # Select a different target language on translate info bar (French). | 367 # Select a different target language on translate info bar (French). |
368 self.ChangeTranslateToLanguage('French') | 368 self.ChangeTranslateToLanguage('French') |
369 translate_info = self.GetTranslateInfo() | 369 translate_info = self.GetTranslateInfo() |
370 self.assertTrue('translate_bar' in translate_info) | 370 self.assertTrue('translate_bar' in translate_info) |
371 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) | 371 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) |
372 # Select always translate Spanish to French. | 372 # Select always translate Spanish to French. |
373 self.SelectTranslateOption('toggle_always_translate') | 373 self.SelectTranslateOption('toggle_always_translate') |
374 # Reload the page and assert that the page has been translated to French. | 374 # Reload the page and assert that the page has been translated to French. |
375 self.GetBrowserWindow(0).GetTab(0).Reload() | 375 self.ReloadTab() |
376 self.WaitUntilTranslateComplete() | 376 self.WaitUntilTranslateComplete() |
377 translate_info = self.GetTranslateInfo() | 377 translate_info = self.GetTranslateInfo() |
378 self.assertTrue(translate_info['page_translated']) | 378 self.assertTrue(translate_info['page_translated']) |
379 self.assertTrue(translate_info['can_translate_page']) | 379 self.assertTrue(translate_info['can_translate_page']) |
380 self.assertTrue('translate_bar' in translate_info) | 380 self.assertTrue('translate_bar' in translate_info) |
381 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) | 381 self.assertEqual('fr', translate_info['translate_bar']['target_lang_code']) |
382 | 382 |
383 def testSeveralLanguages(self): | 383 def testSeveralLanguages(self): |
384 """Verify translation for several languages. | 384 """Verify translation for several languages. |
385 | 385 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
511 def testNoTranslateInfobarAfterNeverTranslate(self): | 511 def testNoTranslateInfobarAfterNeverTranslate(self): |
512 """Verify Translate Info bar should not stay on the page after opting | 512 """Verify Translate Info bar should not stay on the page after opting |
513 Never translate the page""" | 513 Never translate the page""" |
514 url = self._GetDefaultSpanishURL() | 514 url = self._GetDefaultSpanishURL() |
515 self._NavigateAndWaitForBar(url) | 515 self._NavigateAndWaitForBar(url) |
516 self.SelectTranslateOption('never_translate_language') | 516 self.SelectTranslateOption('never_translate_language') |
517 self.assertFalse(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) | 517 self.assertFalse(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
518 | 518 |
519 if __name__ == '__main__': | 519 if __name__ == '__main__': |
520 pyauto_functional.Main() | 520 pyauto_functional.Main() |
OLD | NEW |