| Index: tools/telemetry/telemetry/multi_page_benchmark_unittest.py
|
| diff --git a/tools/telemetry/telemetry/multi_page_benchmark_unittest.py b/tools/telemetry/telemetry/multi_page_benchmark_unittest.py
|
| index 675f355be19cf22b3bff5896d2390aa9d8ab4d67..45a387cdc268c09e76377155e40555aae56b7b2d 100644
|
| --- a/tools/telemetry/telemetry/multi_page_benchmark_unittest.py
|
| +++ b/tools/telemetry/telemetry/multi_page_benchmark_unittest.py
|
| @@ -6,6 +6,7 @@ import os
|
| from telemetry import multi_page_benchmark
|
| from telemetry import multi_page_benchmark_unittest_base
|
| from telemetry import page as page_module
|
| +from telemetry import page_interaction
|
| from telemetry import page_set
|
| from telemetry import wpr_modes
|
|
|
| @@ -14,7 +15,7 @@ class BenchThatFails(multi_page_benchmark.MultiPageBenchmark):
|
| raise multi_page_benchmark.MeasurementFailure('Intentional failure.')
|
|
|
| class BenchThatHasDefaults(multi_page_benchmark.MultiPageBenchmark):
|
| - def AddOptions(self, parser):
|
| + def AddCommandLineOptions(self, parser):
|
| parser.add_option('-x', dest='x', default=3)
|
|
|
| def MeasurePage(self, page, tab, results):
|
| @@ -38,6 +39,13 @@ class BenchQueryParams(multi_page_benchmark.MultiPageBenchmark):
|
| query = tab.runtime.Evaluate('window.location.search')
|
| assert query.strip() == '?foo=1'
|
|
|
| +class BenchWithInteraction(multi_page_benchmark.MultiPageBenchmark):
|
| + def __init__(self):
|
| + super(BenchWithInteraction, self).__init__('test_interaction')
|
| +
|
| + def MeasurePage(self, page, tab, results):
|
| + pass
|
| +
|
| class MultiPageBenchmarkUnitTest(
|
| multi_page_benchmark_unittest_base.MultiPageBenchmarkUnitTestBase):
|
|
|
| @@ -102,3 +110,17 @@ class MultiPageBenchmarkUnitTest(
|
| finally:
|
| if os.path.isfile(test_archive):
|
| os.remove(test_archive)
|
| +
|
| + def testInteractions(self):
|
| + interaction_called = [False]
|
| + class MockInteraction(page_interaction.PageInteraction):
|
| + def PerformInteraction(self, page, tab):
|
| + interaction_called[0] = True
|
| + from telemetry import all_page_interactions
|
| + all_page_interactions.RegisterClassForTest('mock', MockInteraction)
|
| +
|
| + ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
|
| + setattr(ps.pages[0], 'test_interaction', {'action': 'mock'})
|
| + benchmark = BenchWithInteraction()
|
| + self.RunBenchmark(benchmark, ps)
|
| + self.assertTrue(interaction_called[0])
|
|
|