1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
8 from telemetry.page import block_page_measurement_results
9 from telemetry.page import page_set
11 BlockPageMeasurementResults = \
12 block_page_measurement_results.BlockPageMeasurementResults
15 ps = page_set.PageSet(file_path=os.path.dirname(__file__))
16 ps.AddPageWithDefaultRunNavigate('http://www.foo.com/')
17 ps.AddPageWithDefaultRunNavigate('http://www.bar.com/')
21 class NonPrintingBlockPageMeasurementResults(BlockPageMeasurementResults):
22 def __init__(self, *args):
23 super(NonPrintingBlockPageMeasurementResults, self).__init__(*args)
25 def _PrintPerfResult(self, *args):
28 class BlockPageMeasurementResultsTest(unittest.TestCase):
30 self._output = StringIO.StringIO()
31 self._page_set = _MakePageSet()
35 lines = StringIO.StringIO(self._output.getvalue()).readlines()
36 return [line.strip() for line in lines]
40 return [line.split(': ', 1) for line in self.lines]
42 def test_with_output_after_every_page(self):
43 results = NonPrintingBlockPageMeasurementResults(self._output)
44 results.WillMeasurePage(self._page_set[0])
45 results.Add('foo', 'seconds', 3)
46 results.DidMeasurePage()
48 results.WillMeasurePage(self._page_set[1])
49 results.Add('bar', 'seconds', 4)
50 results.DidMeasurePage()
53 ['name', 'http://www.foo.com/'],
54 ['foo (seconds)', '3'],
56 ['name', 'http://www.bar.com/'],
57 ['bar (seconds)', '4'],
60 self.assertEquals(self.data, expected)