| OLD | NEW |
| (Empty) |
| 1 # Copyright 2014 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. | |
| 4 | |
| 5 import unittest | |
| 6 | |
| 7 from metrics import smoothness | |
| 8 | |
| 9 from telemetry.page import page | |
| 10 | |
| 11 | |
| 12 class FakePlatform(object): | |
| 13 def IsRawDisplayFrameRateSupported(self): | |
| 14 return False | |
| 15 | |
| 16 | |
| 17 class FakeBrowser(object): | |
| 18 def __init__(self): | |
| 19 self.platform = FakePlatform() | |
| 20 self.category_filter = None | |
| 21 | |
| 22 def StartTracing(self, category_filter, _): | |
| 23 self.category_filter = category_filter | |
| 24 | |
| 25 | |
| 26 class FakeTab(object): | |
| 27 def __init__(self): | |
| 28 self.browser = FakeBrowser() | |
| 29 | |
| 30 def ExecuteJavaScript(self, js): | |
| 31 pass | |
| 32 | |
| 33 | |
| 34 class SmoothnessMetricUnitTest(unittest.TestCase): | |
| 35 def testSyntheticDelayConfiguration(self): | |
| 36 attributes = { | |
| 37 'synthetic_delays': { | |
| 38 'cc.BeginMainFrame': { 'target_duration': 0.012 }, | |
| 39 'cc.DrawAndSwap': { 'target_duration': 0.012, 'mode': 'alternating' }, | |
| 40 'gpu.SwapBuffers': { 'target_duration': 0.012 } | |
| 41 } | |
| 42 } | |
| 43 test_page = page.Page('http://dummy', None, attributes=attributes) | |
| 44 | |
| 45 tab = FakeTab() | |
| 46 smoothness_metric = smoothness.SmoothnessMetric() | |
| 47 smoothness_metric.Start(test_page, tab) | |
| 48 | |
| 49 expected_category_filter = [ | |
| 50 'DELAY(cc.BeginMainFrame;0.012000;static)', | |
| 51 'DELAY(cc.DrawAndSwap;0.012000;alternating)', | |
| 52 'DELAY(gpu.SwapBuffers;0.012000;static)', | |
| 53 'benchmark', | |
| 54 'webkit.console' | |
| 55 ] | |
| 56 self.assertEquals(expected_category_filter, | |
| 57 sorted(tab.browser.category_filter.split(','))) | |
| OLD | NEW |