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

Unified Diff: tools/android/loading/prefetch_view_unittest.py

Issue 1813723002: clovis: Identify prefetchable resources from dependencies and tracing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 9 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
Index: tools/android/loading/prefetch_view_unittest.py
diff --git a/tools/android/loading/prefetch_view_unittest.py b/tools/android/loading/prefetch_view_unittest.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7210bc09570a51b71882fb1869c0d91f3d76465
--- /dev/null
+++ b/tools/android/loading/prefetch_view_unittest.py
@@ -0,0 +1,62 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import unittest
+
+import prefetch_view
+import request_dependencies_lens
+from request_dependencies_lens_unittest import TestRequests
+
+
+class PrefetchSimulationViewTestCase(unittest.TestCase):
+ def setUp(self):
+ super(PrefetchSimulationViewTestCase, self).setUp()
+ self._SetUp()
+
+ def testExpandRedirectChains(self):
+ self.assertListEqual(
+ [TestRequests.FIRST_REDIRECT_REQUEST,
+ TestRequests.SECOND_REDIRECT_REQUEST, TestRequests.REDIRECTED_REQUEST],
+ self.prefetch_view.ExpandRedirectChains(
+ [TestRequests.FIRST_REDIRECT_REQUEST]))
+
+ def testParserDiscoverableRequests(self):
+ first_request = TestRequests.FIRST_REDIRECT_REQUEST
+ discovered_requests = self.prefetch_view.ParserDiscoverableRequests(
+ first_request)
+ self.assertListEqual(
+ [TestRequests.FIRST_REDIRECT_REQUEST,
+ TestRequests.JS_REQUEST, TestRequests.JS_REQUEST_OTHER_FRAME,
+ TestRequests.JS_REQUEST_UNRELATED_FRAME], discovered_requests)
+
+ def testPreloadedRequests(self):
+ first_request = TestRequests.FIRST_REDIRECT_REQUEST
+ preloaded_requests = self.prefetch_view.PreloadedRequests(first_request)
+ self.assertListEqual([first_request], preloaded_requests)
+ self._SetUp(
+ [{'args': {'url': 'http://bla.com/nyancat.js'},
+ 'cat': 'blink.net', 'id': '0xaf9f14fa9dd6c314', 'name': 'Resource',
+ 'ph': 'X', 'ts': 1, 'dur': 120, 'pid': 12, 'tid': 12},
+ {'args': {'step': 'Preload'}, 'cat': 'blink.net',
+ 'id': '0xaf9f14fa9dd6c314', 'name': 'Resource', 'ph': 'T',
+ 'ts': 12, 'pid': 12, 'tid': 12}])
+ preloaded_requests = self.prefetch_view.PreloadedRequests(first_request)
+ self.assertListEqual([TestRequests.FIRST_REDIRECT_REQUEST,
+ TestRequests.JS_REQUEST, TestRequests.JS_REQUEST_OTHER_FRAME,
+ TestRequests.JS_REQUEST_UNRELATED_FRAME], preloaded_requests)
+
+ def _SetUp(self, added_trace_events=None):
+ trace_events = [
+ {'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 2, 'tid': 1, 'cat': 'blink.net'}]
+ if added_trace_events is not None:
+ trace_events += added_trace_events
+ self.trace = TestRequests.CreateLoadingTrace(trace_events)
+ dependencies_lens = request_dependencies_lens.RequestDependencyLens(
+ self.trace)
+ self.prefetch_view = prefetch_view.PrefetchSimulationView(
+ self.trace, dependencies_lens)
+
+
+if __name__ == '__main__':
+ unittest.main()

Powered by Google App Engine
This is Rietveld 408576698