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 import re | 5 import re |
6 import StringIO | 6 import StringIO |
7 | 7 |
8 from telemetry import test | |
9 from telemetry.core import util | 8 from telemetry.core import util |
10 from telemetry.unittest import tab_test_case | 9 from telemetry.unittest import tab_test_case |
11 | 10 |
12 | 11 |
13 class TabConsoleTest(tab_test_case.TabTestCase): | 12 class TabConsoleTest(tab_test_case.TabTestCase): |
14 @test.Disabled('chromeos') | |
15 def testConsoleOutputStream(self): | 13 def testConsoleOutputStream(self): |
16 self._browser.SetHTTPServerDirectories(util.GetUnittestDataDir()) | |
17 | |
18 stream = StringIO.StringIO() | 14 stream = StringIO.StringIO() |
19 self._tab.message_output_stream = stream | 15 self._tab.message_output_stream = stream |
20 | 16 |
21 self._tab.Navigate( | 17 self.Navigate('page_that_logs_to_console.html') |
22 self._browser.http_server.UrlOf('page_that_logs_to_console.html')) | |
23 self._tab.WaitForDocumentReadyStateToBeComplete() | |
24 | 18 |
25 initial = self._tab.EvaluateJavaScript('window.__logCount') | 19 initial = self._tab.EvaluateJavaScript('window.__logCount') |
26 def GotLog(): | 20 def GotLog(): |
27 current = self._tab.EvaluateJavaScript('window.__logCount') | 21 current = self._tab.EvaluateJavaScript('window.__logCount') |
28 return current > initial | 22 return current > initial |
29 util.WaitFor(GotLog, 5) | 23 util.WaitFor(GotLog, 5) |
30 | 24 |
31 lines = [l for l in stream.getvalue().split('\n') if len(l)] | 25 lines = [l for l in stream.getvalue().split('\n') if len(l)] |
32 | 26 |
33 self.assertTrue(len(lines) >= 1) | 27 self.assertTrue(len(lines) >= 1) |
34 for line in lines: | 28 for line in lines: |
35 prefix = 'http://(.+)/page_that_logs_to_console.html:9' | 29 prefix = 'http://(.+)/page_that_logs_to_console.html:9' |
36 expected_line = 'At %s: Hello, world' % prefix | 30 expected_line = 'At %s: Hello, world' % prefix |
37 self.assertTrue(re.match(expected_line, line)) | 31 self.assertTrue(re.match(expected_line, line)) |
38 | 32 |
OLD | NEW |