text: # Copyright 2013 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  import re
  
  from telemetry.testing import tab_test_case
  
  import py_utils
  
  
  class TabConsoleTest(tab_test_case.TabTestCase):
    def testConsoleOutputStream(self):
      self.Navigate('page_that_logs_to_console.html')
  
      initial = self._tab.EvaluateJavaScript2('window.__logCount')
      def GotLog():
        current = self._tab.EvaluateJavaScript2('window.__logCount')
        return current > initial
      py_utils.WaitFor(GotLog, 5)
  
      console_output = (
          self._tab._inspector_backend.GetCurrentConsoleOutputBuffer())
      lines = [l for l in console_output.split('\n') if len(l)]
  
      self.assertTrue(len(lines) >= 1)
      for line in lines:
        prefix = 'http://(.+)/page_that_logs_to_console.html:9'
        expected_line = r'\(log\) %s: Hello, world' % prefix
        self.assertTrue(re.match(expected_line, line))
  