Index: tools/telemetry/telemetry/page/page_set_unittest.py |
diff --git a/tools/telemetry/telemetry/page/page_set_unittest.py b/tools/telemetry/telemetry/page/page_set_unittest.py |
index 38dbb064647c345397fee5950fa7537480e0b600..0c50571b3f30532fcf1d5829efadcd54fb3d9736 100644 |
--- a/tools/telemetry/telemetry/page/page_set_unittest.py |
+++ b/tools/telemetry/telemetry/page/page_set_unittest.py |
@@ -6,6 +6,7 @@ import os |
import tempfile |
import unittest |
+from telemetry.core import util |
from telemetry.page import page_set |
@@ -33,10 +34,10 @@ simple_set = """ |
class TestPageSet(unittest.TestCase): |
def testSimpleSet(self): |
try: |
- with tempfile.NamedTemporaryFile(delete=False) as f: |
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".json") as f: |
f.write(simple_archive_info) |
- with tempfile.NamedTemporaryFile(delete=False) as f2: |
+ with tempfile.NamedTemporaryFile(delete=False, suffix=".json") as f2: |
f2.write(simple_set % f.name.replace('\\', '\\\\')) |
ps = page_set.PageSet.FromFile(f2.name) |
@@ -86,10 +87,53 @@ class TestPageSet(unittest.TestCase): |
}, |
]}, 'file://foo.js') |
- self.assertEquals(ps.pages[0].RunNavigateSteps, {'action': 'navigate'}) |
+ self.assertTrue(hasattr(ps.pages[0], 'RunNavigateSteps')) |
self.assertEquals(ps.pages[0].RunSmoothness, {'action': 'scroll'}) |
self.assertEquals(ps.pages[0].RunStressMemory, {'action': 'javasciprt'}) |
self.assertEquals(ps.pages[1].RunSmoothness, {'action': 'scroll'}) |
self.assertEquals(ps.pages[1].RunNavigateSteps, {'action': 'navigate2'}) |
self.assertEquals(ps.pages[1].RunRepaint, {'action': 'scroll'}) |
+ |
+ def testRunNavigateStepsInheritance(self): |
+ ps = page_set.PageSet.FromDict({ |
+ 'serving_dirs': ['a/b'], |
+ 'navigate_steps' : { 'action' : 'navigate1' }, |
+ 'pages': [ |
+ {'url': 'http://www.foo.com', |
+ }, |
+ {'url': 'http://www.bar.com', |
+ 'navigate_steps': {'action': 'navigate2'}, |
+ }, |
+ ]}, 'file://foo.js') |
+ |
+ self.assertEquals(ps.pages[0].RunNavigateSteps, {'action': 'navigate1'}) |
+ self.assertEquals(ps.pages[1].RunNavigateSteps, {'action': 'navigate2'}) |
+ |
+ |
+ def testSuccesfulPythonPageSetLoading(self): |
+ test_pps_dir = os.path.join(util.GetUnittestDataDir(), 'test_page_set.py') |
+ pps = page_set.PageSet.FromFile(test_pps_dir) |
+ self.assertEqual('TestPageSet', pps.__class__.__name__) |
+ self.assertEqual('A pageset for testing purpose', pps.description) |
+ self.assertEqual('data/test.json', pps.archive_data_file) |
+ self.assertEqual('data/credential', pps.credentials_path) |
+ self.assertEqual('desktop', pps.user_agent_type) |
+ self.assertEqual(test_pps_dir, pps.file_path) |
+ self.assertEqual(1, len(pps.pages)) |
+ google_page = pps.pages[0] |
+ self.assertEqual('https://www.google.com', google_page.url) |
+ self.assertIs(pps, google_page.page_set) |
+ self.assertTrue(hasattr(google_page, 'RunNavigateSteps')) |
+ self.assertTrue(5, google_page.RunGetActionRunner(action_runner=5)) |
+ |
+ def testMultiplePythonPageSetsLoading(self): |
+ test_pps_1_dir = os.path.join(util.GetUnittestDataDir(), |
+ 'test_simple_one_page_set.py') |
+ test_pps_2_dir = os.path.join(util.GetUnittestDataDir(), |
+ 'test_simple_two_page_set.py') |
+ pps1 = page_set.PageSet.FromFile(test_pps_1_dir) |
+ pps2 = page_set.PageSet.FromFile(test_pps_2_dir) |
+ |
+ self.assertEqual('TestSimpleOnePageSet', pps1.__class__.__name__) |
+ self.assertEqual('TestSimpleTwoPageSet', pps2.__class__.__name__) |