Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(779)

Unified Diff: tools/perf/measurements/page_cycler_unittest.py

Issue 543243002: Drop DidStartHTTPServer to simplify object interactions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix spell-o Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/perf/measurements/page_cycler.py ('k') | tools/telemetry/telemetry/page/page_runner.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/measurements/page_cycler_unittest.py
diff --git a/tools/perf/measurements/page_cycler_unittest.py b/tools/perf/measurements/page_cycler_unittest.py
index 90f05087372ff26368432bad1ef6dced7fca27ad..2d274910da23ad01303817492f9caf98b8557e73 100644
--- a/tools/perf/measurements/page_cycler_unittest.py
+++ b/tools/perf/measurements/page_cycler_unittest.py
@@ -38,17 +38,21 @@ class FakePage(object):
"""Used to mock loading a page."""
def __init__(self, url):
self.url = url
+ self.is_file = url.startswith('file://')
class FakeTab(object):
"""Used to mock a browser tab."""
def __init__(self):
self.clear_cache_calls = 0
+ self.navigated_urls = []
def ClearCache(self, force=False):
assert force
self.clear_cache_calls += 1
def EvaluateJavaScript(self, _):
return 1
+ def Navigate(self, url):
+ self.navigated_urls.append(url)
def WaitForJavaScriptExpression(self, _, __):
pass
@property
@@ -73,6 +77,13 @@ class FakeBrowser(object):
def platform(self):
return FakePlatform()
+ @property
+ def http_server(self):
+ class FakeHttpServer(object):
+ def UrlOf(self, url_path):
+ return 'http://fakeserver:99999/%s' % url_path
+ return FakeHttpServer()
+
class FakePlatform(object):
def GetOSName(self):
@@ -213,3 +224,16 @@ class PageCyclerUnitTest(unittest.TestCase):
self.assertEqual(value.units, '%')
cycler.DidNavigateToPage(page, tab)
+
+ def testLegacyPagesAvoidCrossRenderNavigation(self):
+ # For legacy page cyclers with file URLs, verify that WillNavigateToPage
+ # does an initial navigate to avoid paying for a cross-renderer navigation.
+ cycler = self.SetUpCycler([], True)
+ pages = [FakePage('file://fakepage1.com'), FakePage('file://fakepage2.com')]
+ tab = FakeTab()
+
+ self.assertEqual([], tab.navigated_urls)
+ for page in pages * 2:
+ cycler.WillNavigateToPage(page, tab)
+ self.assertEqual(
+ ['http://fakeserver:99999/nonexistent.html'], tab.navigated_urls)
« no previous file with comments | « tools/perf/measurements/page_cycler.py ('k') | tools/telemetry/telemetry/page/page_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698