OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2010 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 |
| 7 import logging |
| 8 import os |
| 9 |
6 import pyauto_functional # Must be imported before pyauto | 10 import pyauto_functional # Must be imported before pyauto |
7 import pyauto | 11 import pyauto |
8 | 12 |
9 | 13 |
10 class TranslateTest(pyauto.PyUITest): | 14 class TranslateTest(pyauto.PyUITest): |
11 """Tests that translate works correctly""" | 15 """Tests that translate works correctly""" |
12 | 16 |
13 spanish_google = 'http://www.google.com/webhp?hl=es' | |
14 spanish = 'es' | 17 spanish = 'es' |
15 after_translate = 'AFTER_TRANSLATE' | 18 after_translate = 'AFTER_TRANSLATE' |
16 before_translate = 'BEFORE_TRANSLATE' | 19 before_translate = 'BEFORE_TRANSLATE' |
17 translating = 'TRANSLATING' | 20 translating = 'TRANSLATING' |
18 translation_error = 'TRANSLATION_ERROR' | 21 translation_error = 'TRANSLATION_ERROR' |
19 | 22 |
20 def Debug(self): | 23 def Debug(self): |
21 """ Test method for experimentation. """ | 24 """ Test method for experimentation. """ |
22 import pprint | 25 import pprint |
23 pp = pprint.PrettyPrinter(indent=2) | 26 pp = pprint.PrettyPrinter(indent=2) |
24 while True: | 27 while True: |
25 raw_input('Hit <enter> to dump translate info.. ') | 28 raw_input('Hit <enter> to dump translate info.. ') |
26 pp.pprint(self.GetTranslateInfo()) | 29 pp.pprint(self.GetTranslateInfo()) |
27 | 30 |
| 31 def _GetURLForDataDirFile(self, filename): |
| 32 """Return the file URL for the given file in the data directory.""" |
| 33 return self.GetFileURLForPath(os.path.join(self.DataDir(), filename)) |
| 34 |
| 35 def _GetDefaultSpanishURL(self): |
| 36 return self._GetURLForDataDirFile( |
| 37 os.path.join('translate', self.spanish, 'google.html')) |
| 38 |
| 39 def _GetDefaultEnglishURL(self): |
| 40 return self._GetURLForDataDirFile('title1.html') |
| 41 |
28 def _NavigateAndWaitForBar(self, url): | 42 def _NavigateAndWaitForBar(self, url): |
29 self.NavigateToURL(url) | 43 self.NavigateToURL(url) |
30 self.WaitForInfobarCount(1) | 44 self.WaitForInfobarCount(1) |
31 | 45 |
32 def _ClickTranslateUntilSuccess(self): | 46 def _ClickTranslateUntilSuccess(self): |
33 """Since the translate can fail due to server error, continue trying until | 47 """Since the translate can fail due to server error, continue trying until |
34 it is successful or until it has tried too many times.""" | 48 it is successful or until it has tried too many times.""" |
35 max_tries = 10 | 49 max_tries = 10 |
36 curr_try = 0 | 50 curr_try = 0 |
37 while curr_try < max_tries and not self.ClickTranslateBarTranslate(): | 51 while curr_try < max_tries and not self.ClickTranslateBarTranslate(): |
38 curr_try = curr_try + 1 | 52 curr_try = curr_try + 1 |
39 if curr_try == 10: | 53 if curr_try == 10: |
40 self.fail('Translation failed more than %d times.' % max_tries) | 54 self.fail('Translation failed more than %d times.' % max_tries) |
41 | 55 |
| 56 def _AssertTranslateWorks(self, url, original_language): |
| 57 """Translate the page at the given URL and assert that the page has been |
| 58 translated. |
| 59 """ |
| 60 self._NavigateAndWaitForBar(url) |
| 61 translate_info = self.GetTranslateInfo() |
| 62 self.assertEqual(original_language, translate_info['original_language']) |
| 63 self.assertFalse(translate_info['page_translated']) |
| 64 self.assertTrue(translate_info['can_translate_page']) |
| 65 self.assertTrue('translate_bar' in translate_info) |
| 66 self._ClickTranslateUntilSuccess() |
| 67 translate_info = self.GetTranslateInfo() |
| 68 self.assertTrue(translate_info['can_translate_page']) |
| 69 self.assertTrue('translate_bar' in translate_info) |
| 70 translate_bar = translate_info['translate_bar'] |
| 71 self.assertEquals(self.after_translate, |
| 72 translate_info['translate_bar']['bar_state']) |
| 73 self.assertEquals(original_language, |
| 74 translate_bar['original_lang_code']) |
| 75 |
42 def testTranslate(self): | 76 def testTranslate(self): |
43 """Tests that a page was translated if the user chooses to translate.""" | 77 """Tests that a page was translated if the user chooses to translate.""" |
44 self._NavigateAndWaitForBar(self.spanish_google) | 78 self._AssertTranslateWorks(self._GetDefaultSpanishURL(), self.spanish) |
45 self._ClickTranslateUntilSuccess() | |
46 translate_info = self.GetTranslateInfo() | |
47 self.assertEqual(self.spanish, translate_info['original_language']) | |
48 self.assertTrue(translate_info['page_translated']) | |
49 self.assertTrue(translate_info['can_translate_page']) | |
50 self.assertTrue('translate_bar' in translate_info) | |
51 self.assertEquals(self.after_translate, | |
52 translate_info['translate_bar']['bar_state']) | |
53 | 79 |
54 def testNoTranslate(self): | 80 def testNoTranslate(self): |
55 """Tests that a page isn't translated if the user declines translate.""" | 81 """Tests that a page isn't translated if the user declines translate.""" |
56 self._NavigateAndWaitForBar(self.spanish_google) | 82 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
57 self.PerformActionOnInfobar('dismiss', 0) | 83 self.PerformActionOnInfobar('dismiss', 0) |
58 translate_info = self.GetTranslateInfo() | 84 translate_info = self.GetTranslateInfo() |
59 self.assertEqual(self.spanish, translate_info['original_language']) | 85 self.assertEqual(self.spanish, translate_info['original_language']) |
60 self.assertFalse(translate_info['page_translated']) | 86 self.assertFalse(translate_info['page_translated']) |
61 self.assertTrue(translate_info['can_translate_page']) | 87 self.assertTrue(translate_info['can_translate_page']) |
62 # If the user goes to the site again, the infobar should drop down but | 88 # If the user goes to the site again, the infobar should drop down but |
63 # the page should not be automatically translated. | 89 # the page should not be automatically translated. |
64 self._NavigateAndWaitForBar(self.spanish_google) | 90 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
65 translate_info = self.GetTranslateInfo() | 91 translate_info = self.GetTranslateInfo() |
66 self.assertFalse(translate_info['page_translated']) | 92 self.assertFalse(translate_info['page_translated']) |
67 self.assertTrue(translate_info['can_translate_page']) | 93 self.assertTrue(translate_info['can_translate_page']) |
68 self.assertTrue('translate_bar' in translate_info) | 94 self.assertTrue('translate_bar' in translate_info) |
69 self.assertEquals(self.before_translate, | 95 self.assertEquals(self.before_translate, |
70 translate_info['translate_bar']['bar_state']) | 96 translate_info['translate_bar']['bar_state']) |
71 | 97 |
72 def testNeverTranslateLanguage(self): | 98 def testNeverTranslateLanguage(self): |
73 """Tests that blacklisting a language for translate works.""" | 99 """Tests that blacklisting a language for translate works.""" |
74 self._NavigateAndWaitForBar(self.spanish_google) | 100 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
75 self.SelectTranslateOption('never_translate_language') | 101 self.SelectTranslateOption('never_translate_language') |
76 translate_info = self.GetTranslateInfo() | 102 translate_info = self.GetTranslateInfo() |
77 self.assertEqual(self.spanish, translate_info['original_language']) | 103 self.assertEqual(self.spanish, translate_info['original_language']) |
78 self.assertFalse(translate_info['page_translated']) | 104 self.assertFalse(translate_info['page_translated']) |
79 self.assertFalse(translate_info['can_translate_page']) | 105 self.assertFalse(translate_info['can_translate_page']) |
80 spanish_wikipedia = 'http://es.wikipedia.org/wiki/Wikipedia:Portada' | 106 spanish_wikipedia = 'http://es.wikipedia.org/wiki/Wikipedia:Portada' |
81 self.NavigateToURL(spanish_wikipedia) | 107 self.NavigateToURL(spanish_wikipedia) |
82 translate_info = self.GetTranslateInfo() | 108 translate_info = self.GetTranslateInfo() |
83 self.assertEqual(self.spanish, translate_info['original_language']) | 109 self.assertEqual(self.spanish, translate_info['original_language']) |
84 self.assertFalse(translate_info['page_translated']) | 110 self.assertFalse(translate_info['page_translated']) |
85 self.assertFalse(translate_info['can_translate_page']) | 111 self.assertFalse(translate_info['can_translate_page']) |
86 | 112 |
87 def testAlwaysTranslateLanguage(self): | 113 def testAlwaysTranslateLanguage(self): |
88 """Tests that the always translate a language option works.""" | 114 """Tests that the always translate a language option works.""" |
89 self._NavigateAndWaitForBar(self.spanish_google) | 115 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
90 self.SelectTranslateOption('toggle_always_translate') | 116 self.SelectTranslateOption('toggle_always_translate') |
91 self._ClickTranslateUntilSuccess() | 117 self._ClickTranslateUntilSuccess() |
92 translate_info = self.GetTranslateInfo() | 118 translate_info = self.GetTranslateInfo() |
93 self.assertEquals(self.spanish, translate_info['original_language']) | 119 self.assertEquals(self.spanish, translate_info['original_language']) |
94 self.assertTrue(translate_info['page_translated']) | 120 self.assertTrue(translate_info['page_translated']) |
95 self.assertTrue(translate_info['can_translate_page']) | 121 self.assertTrue(translate_info['can_translate_page']) |
96 self.assertTrue('translate_bar' in translate_info) | 122 self.assertTrue('translate_bar' in translate_info) |
97 self.assertEquals(self.after_translate, | 123 self.assertEquals(self.after_translate, |
98 translate_info['translate_bar']['bar_state']) | 124 translate_info['translate_bar']['bar_state']) |
99 # Go to another spanish site and verify that it is translated. | 125 # Go to another spanish site and verify that it is translated. |
100 # Note that the 'This page has been translated..." bar will show up. | 126 # Note that the 'This page has been translated..." bar will show up. |
101 self._NavigateAndWaitForBar( | 127 self._NavigateAndWaitForBar( |
102 'http://es.wikipedia.org/wiki/Wikipedia:Portada') | 128 'http://es.wikipedia.org/wiki/Wikipedia:Portada') |
103 translate_info = self.GetTranslateInfo() | 129 translate_info = self.GetTranslateInfo() |
104 self.assertTrue('translate_bar' in translate_info) | 130 self.assertTrue('translate_bar' in translate_info) |
105 curr_bar_state = translate_info['translate_bar']['bar_state'] | 131 curr_bar_state = translate_info['translate_bar']['bar_state'] |
106 # We don't care whether the translation has finished, just that it is | 132 # We don't care whether the translation has finished, just that it is |
107 # trying to translate. | 133 # trying to translate. |
108 self.assertTrue(curr_bar_state is self.after_translate or | 134 self.assertTrue(curr_bar_state is self.after_translate or |
109 self.translating or self.translation_error, | 135 self.translating or self.translation_error, |
110 'Bar state was %s.' % curr_bar_state) | 136 'Bar state was %s.' % curr_bar_state) |
111 | 137 |
112 def testNeverTranslateSite(self): | 138 def testNeverTranslateSite(self): |
113 """Tests that blacklisting a site for translate works.""" | 139 """Tests that blacklisting a site for translate works.""" |
114 self._NavigateAndWaitForBar(self.spanish_google) | 140 spanish_google = 'http://www.google.com/webhp?hl=es' |
| 141 self._NavigateAndWaitForBar(spanish_google) |
115 self.SelectTranslateOption('never_translate_site') | 142 self.SelectTranslateOption('never_translate_site') |
116 translate_info = self.GetTranslateInfo() | 143 translate_info = self.GetTranslateInfo() |
117 self.assertFalse(translate_info['page_translated']) | 144 self.assertFalse(translate_info['page_translated']) |
118 self.assertFalse(translate_info['can_translate_page']) | 145 self.assertFalse(translate_info['can_translate_page']) |
119 french_google = 'http://www.google.com/webhp?hl=fr' | 146 french_google = 'http://www.google.com/webhp?hl=fr' |
120 # Go to another page in the same site and verify that the page can't be | 147 # Go to another page in the same site and verify that the page can't be |
121 # translated even though it's in a different language. | 148 # translated even though it's in a different language. |
122 self.NavigateToURL(french_google) | 149 self.NavigateToURL(french_google) |
123 translate_info = self.GetTranslateInfo() | 150 translate_info = self.GetTranslateInfo() |
124 self.assertFalse(translate_info['page_translated']) | 151 self.assertFalse(translate_info['page_translated']) |
125 self.assertFalse(translate_info['can_translate_page']) | 152 self.assertFalse(translate_info['can_translate_page']) |
126 | 153 |
127 def testRevert(self): | 154 def testRevert(self): |
128 """Tests that reverting a site to its original language works.""" | 155 """Tests that reverting a site to its original language works.""" |
129 self._NavigateAndWaitForBar(self.spanish_google) | 156 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
130 self._ClickTranslateUntilSuccess() | 157 self._ClickTranslateUntilSuccess() |
131 self.RevertPageTranslation() | 158 self.RevertPageTranslation() |
132 translate_info = self.GetTranslateInfo() | 159 translate_info = self.GetTranslateInfo() |
133 self.assertFalse(translate_info['page_translated']) | 160 self.assertFalse(translate_info['page_translated']) |
134 self.assertTrue(translate_info['can_translate_page']) | 161 self.assertTrue(translate_info['can_translate_page']) |
135 | 162 |
| 163 def testBarNotVisibleOnSSLErrorPage(self): |
| 164 """Test Translate bar is not visible on SSL error pages.""" |
| 165 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 166 translate_info = self.GetTranslateInfo() |
| 167 self.assertTrue('translate_bar' in translate_info) |
| 168 self.assertTrue(translate_info['can_translate_page']) |
| 169 # This page is an ssl error page. |
| 170 self.NavigateToURL('https://www.sourceforge.net') |
| 171 self.WaitForInfobarCount(0) |
| 172 translate_info = self.GetTranslateInfo() |
| 173 self.assertFalse('translate_bar' in translate_info) |
| 174 |
| 175 def testBarNotVisibleOnEnglishPage(self): |
| 176 """Test Translate bar is not visible on English pages.""" |
| 177 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 178 translate_info = self.GetTranslateInfo() |
| 179 self.assertTrue('translate_bar' in translate_info) |
| 180 self.assertTrue(translate_info['can_translate_page']) |
| 181 # With the translate bar visible in same tab open an English page. |
| 182 self.NavigateToURL(self._GetDefaultEnglishURL()) |
| 183 self.WaitForInfobarCount(0) |
| 184 translate_info = self.GetTranslateInfo() |
| 185 self.assertFalse('translate_bar' in translate_info) |
| 186 |
| 187 def testTranslateDiffURLs(self): |
| 188 """Test that HTTP, HTTPS, and file urls all get translated.""" |
| 189 http_url = 'http://www.google.com/webhp?hl=es' |
| 190 https_url = 'https://www.google.com/webhp?hl=es' |
| 191 file_url = self._GetDefaultSpanishURL() |
| 192 for url in (http_url, https_url, file_url): |
| 193 self._AssertTranslateWorks(url, self.spanish) |
| 194 |
| 195 def testNeverTranslateLanguage(self): |
| 196 """Verify no translate bar for blacklisted language.""" |
| 197 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 198 self.SelectTranslateOption('never_translate_language') |
| 199 self.assertFalse(self.GetBrowserInfo()['windows'][0]['tabs'][0]['infobars']) |
| 200 # Navigate to a page that will show the translate bar, then navigate away. |
| 201 self._NavigateAndWaitForBar( |
| 202 self._GetURLForDataDirFile('french_page.html')) |
| 203 self.NavigateToURL('http://es.wikipedia.org/wiki/Wikipedia:Portada') |
| 204 self.WaitForInfobarCount(0) |
| 205 translate_info = self.GetTranslateInfo() |
| 206 self.assertFalse('translate_bar' in translate_info) |
| 207 self.assertFalse(translate_info['page_translated']) |
| 208 self.assertFalse(translate_info['can_translate_page']) |
| 209 |
| 210 def testNotranslateMetaTag(self): |
| 211 """Test "notranslate" meta tag.""" |
| 212 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 213 self.NavigateToURL(self._GetURLForDataDirFile( |
| 214 os.path.join('translate', 'notranslate_meta_tag.html'))) |
| 215 self.WaitForInfobarCount(0) |
| 216 translate_info = self.GetTranslateInfo() |
| 217 self.assertFalse('translate_bar' in translate_info) |
| 218 |
| 219 def testToggleTranslateOption(self): |
| 220 """Test to toggle the 'Always Translate' option.""" |
| 221 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 222 # Assert the default. |
| 223 translate_info = self.GetTranslateInfo() |
| 224 self.assertFalse(translate_info['page_translated']) |
| 225 self.assertTrue('translate_bar' in translate_info) |
| 226 # Select 'Always Translate'. |
| 227 self.SelectTranslateOption('toggle_always_translate') |
| 228 self._ClickTranslateUntilSuccess() |
| 229 translate_info = self.GetTranslateInfo() |
| 230 self.assertTrue(translate_info['page_translated']) |
| 231 # Reload the tab and confirm the page was translated. |
| 232 self.GetBrowserWindow(0).GetTab(0).Reload() |
| 233 self.WaitForInfobarCount(1) |
| 234 success = self.WaitUntilTranslateComplete() |
| 235 # Sometimes the translation fails. Continue clicking until it succeeds. |
| 236 if not success: |
| 237 self._ClickTranslateUntilSuccess() |
| 238 # Uncheck 'Always Translate' |
| 239 self.SelectTranslateOption('toggle_always_translate') |
| 240 self.PerformActionOnInfobar('dismiss', 0) |
| 241 translate_info = self.GetTranslateInfo() |
| 242 self.assertTrue(translate_info['page_translated']) |
| 243 self.assertFalse('translate_bar' in translate_info) |
| 244 # Reload the tab and confirm that the page has not been translated. |
| 245 self.GetBrowserWindow(0).GetTab(0).Reload() |
| 246 translate_info = self.GetTranslateInfo() |
| 247 self.assertFalse(translate_info['page_translated']) |
| 248 self.assertTrue('translate_bar' in translate_info) |
| 249 |
| 250 def testSessionRestore(self): |
| 251 """Test that session restore restores the translate infobar and other |
| 252 translate settings. |
| 253 """ |
| 254 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 255 translate_info = self.GetTranslateInfo() |
| 256 self.assertTrue('translate_bar' in translate_info) |
| 257 self.SelectTranslateOption('toggle_always_translate') |
| 258 self._ClickTranslateUntilSuccess() |
| 259 self.SetPrefs(pyauto.kRestoreOnStartup, 1) |
| 260 self.RestartBrowser(clear_profile=False) |
| 261 self.WaitForInfobarCount(1) |
| 262 translate_info = self.GetTranslateInfo() |
| 263 self.assertTrue('translate_bar' in translate_info) |
| 264 # Sometimes translation fails. We don't really care whether it succeededs, |
| 265 # just that a translation was attempted. |
| 266 self.assertNotEqual(self.before_translate, |
| 267 translate_info['translate_bar']['bar_state']) |
| 268 |
| 269 def testGoBackAndForwardToTranslatePage(self): |
| 270 """Tests that translate bar re-appears after backward and forward |
| 271 navigation to a page that can be translated. |
| 272 """ |
| 273 no_trans_url = self._GetDefaultEnglishURL() |
| 274 trans_url = self._GetDefaultSpanishURL() |
| 275 self._NavigateAndWaitForBar(trans_url) |
| 276 translate_info = self.GetTranslateInfo() |
| 277 self.assertTrue('translate_bar' in translate_info) |
| 278 self.NavigateToURL(no_trans_url) |
| 279 self.WaitForInfobarCount(0) |
| 280 self.assertFalse('translate_bar' in self.GetTranslateInfo()) |
| 281 # Go back to the page that should be translated and assert that the |
| 282 # translate bar re-appears. |
| 283 self.GetBrowserWindow(0).GetTab(0).GoBack() |
| 284 self.WaitForInfobarCount(1) |
| 285 self.assertTrue('translate_bar' in self.GetTranslateInfo()) |
| 286 |
| 287 # Now test going forward. |
| 288 self.NavigateToURL(no_trans_url) |
| 289 translate_info = self.GetTranslateInfo() |
| 290 self.assertFalse('translate_bar' in translate_info) |
| 291 self._AssertTranslateWorks(trans_url, self.spanish) |
| 292 self.GetBrowserWindow(0).GetTab(0).GoBack() |
| 293 self.WaitForInfobarCount(0) |
| 294 translate_info = self.GetTranslateInfo() |
| 295 self.assertFalse('translate_bar' in translate_info) |
| 296 self.GetBrowserWindow(0).GetTab(0).GoForward() |
| 297 self.WaitForInfobarCount(1) |
| 298 translate_info = self.GetTranslateInfo() |
| 299 self.assertTrue(translate_info['can_translate_page']) |
| 300 self.assertTrue('translate_bar' in translate_info) |
| 301 |
| 302 def testForCrashedTab(self): |
| 303 """Tests that translate bar is dimissed if the renderer crashes.""" |
| 304 crash_url = 'about:crash' |
| 305 self._NavigateAndWaitForBar(self._GetDefaultSpanishURL()) |
| 306 translate_info = self.GetTranslateInfo() |
| 307 self.assertTrue('translate_bar' in translate_info) |
| 308 self.NavigateToURL(crash_url) |
| 309 self.WaitForInfobarCount(0) |
| 310 self.assertFalse('translate_bar' in self.GetTranslateInfo()) |
| 311 |
| 312 def testTranslatePrefs(self): |
| 313 """Test the Prefs:Translate option.""" |
| 314 # Assert defaults first. |
| 315 self.assertTrue(self.GetPrefsInfo().Prefs(pyauto.kEnableTranslate)) |
| 316 # Uncheck. |
| 317 self.SetPrefs(pyauto.kEnableTranslate, False) |
| 318 self.NavigateToURL(self._GetDefaultSpanishURL()) |
| 319 self.assertFalse('translate_bar' in self.GetTranslateInfo()) |
| 320 # Restart the browser and assert the translate preference stays. |
| 321 self.RestartBrowser(clear_profile=False) |
| 322 self.assertFalse(self.GetPrefsInfo().Prefs(pyauto.kEnableTranslate)) |
| 323 self.NavigateToURL(self._GetDefaultSpanishURL()) |
| 324 self.assertFalse('translate_bar' in self.GetTranslateInfo()) |
| 325 |
| 326 def testSeveralLanguages(self): |
| 327 """Verify translation for several languages. |
| 328 |
| 329 This assumes that there is a directory of directories in the data dir. |
| 330 The directory is called 'translate', and within that directory there are |
| 331 subdirectories for each language code. Ex. a subdirectory 'es' with Spanish |
| 332 html files. |
| 333 """ |
| 334 corpora_path = os.path.join(self.DataDir(), 'translate') |
| 335 corp_dir = glob.glob(os.path.join(corpora_path, '??')) + \ |
| 336 glob.glob(os.path.join(corpora_path, '??-??')) |
| 337 |
| 338 for language in corp_dir: |
| 339 files = glob.glob(os.path.join(language, '*.html*')) |
| 340 lang_code = os.path.basename(language) |
| 341 logging.debug('Starting language %s' % lang_code) |
| 342 # Translate each html file in the language directory. |
| 343 for lang_file in files: |
| 344 logging.debug('Starting file %s' % lang_file) |
| 345 lang_file = self.GetFileURLForPath(lang_file) |
| 346 self._AssertTranslateWorks(lang_file, lang_code) |
| 347 |
136 | 348 |
137 if __name__ == '__main__': | 349 if __name__ == '__main__': |
138 pyauto_functional.Main() | 350 pyauto_functional.Main() |
OLD | NEW |