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() |