Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / telemetry / telemetry / page / record_wpr_unittest.py
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 telemetry.page import page as page_module
8 from telemetry.page import record_wpr
9
10
11 class TestPage(page_module.Page):
12   def __init__(self):
13     super(TestPage, self).__init__(url='file://foo.html',
14                                    page_set=None,
15                                    base_dir=None)
16     self.run_navigate = False
17     self.run_foo = False
18     self.run_bar = False
19
20   def RunNavigateSteps(self, _):
21     self.run_navigate = True
22
23   def RunFoo(self, _):
24     self.run_foo = True
25
26   def RunBar(self, _):
27     self.run_bar = True
28
29
30 class FakeFooMeasurement(object):
31   def __init__(self):
32     self.action_name_to_run = "RunFoo"
33
34
35 class FakeBarMeasurement(object):
36   def __init__(self):
37     self.action_name_to_run = "RunBar"
38
39
40 class FakeTab(object):
41   def WaitForDocumentReadyStateToBeComplete(self):
42     pass
43
44
45 class RecordWprUnitTest(unittest.TestCase):
46   def setUp(self):
47     super(RecordWprUnitTest, self).setUp()
48
49   def testRunActions(self):
50     page = TestPage()
51     record_runner = record_wpr.RecordPage({1 : FakeFooMeasurement,
52                                            2 : FakeBarMeasurement})
53     record_runner.RunPage(page, tab=FakeTab(), results=None)
54     self.assertTrue(page.run_navigate)
55     self.assertTrue(page.run_foo)
56     self.assertTrue(page.run_bar)
57