Index: perf_insights/perf_insights_examples/map_startup_info_test.html |
diff --git a/perf_insights/perf_insights_examples/map_startup_info_test.html b/perf_insights/perf_insights_examples/map_startup_info_test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20715d9c4d2a5dba80f1ec7b2ee0c99d15465b1e |
--- /dev/null |
+++ b/perf_insights/perf_insights_examples/map_startup_info_test.html |
@@ -0,0 +1,72 @@ |
+<!DOCTYPE html> |
+<!-- |
+Copyright (c) 2013 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. |
+--> |
+ |
+<link rel="import" href="/perf_insights/value/value.html"> |
+<link rel="import" href="/perf_insights/value/run_info.html"> |
+<link rel="import" href="/perf_insights/results/results.html"> |
+<link rel="import" href="/perf_insights_examples/map_startup_info.html"> |
+<link rel="import" href="/tracing/core/test_utils.html"> |
+<link rel="import" href="/tracing/extras/rail/load_interaction_record.html"> |
+<link rel="import" href="/tracing/model/thread_slice.html"> |
+ |
+<script> |
+'use strict'; |
+ |
+tr.b.unittest.testSuite(function() { |
+ var test_utils = tr.c.test_utils; |
+ |
+ test('mapperTest', function() { |
+ var m = test_utils.newModel(function(m) { |
+ var p1 = m.getOrCreateProcess(1); |
+ var t2 = p1.getOrCreateThread(2); |
+ t2.name = 'CrBrowserMain'; |
+ var t2_s1 = test_utils.newSliceEx({ |
+ name: 'Some slice', |
+ start: 10, duration: 20, |
+ type: tr.model.ThreadSlice |
+ }); |
+ t2_s1.parentContainer = t2; |
+ var t2_s2 = test_utils.newSliceEx({ |
+ name: 'Another slice', |
+ start: 30, duration: 50, |
+ type: tr.model.ThreadSlice |
+ }); |
+ t2_s2.parentContainer = t2; |
+ t2.sliceGroup.pushSlice(t2_s1); |
+ t2.sliceGroup.pushSlice(t2_s2); |
+ var loadIr = new tr.e.rail.LoadInteractionRecord(15, 45); |
+ loadIr.name = 'Startup'; |
+ m.interaction_records.push(loadIr); |
+ loadIr.associatedEvents.push(t2_s1); |
+ loadIr.associatedEvents.push(t2_s2); |
+ }); |
+ |
+ var results = new pi.r.Results(); |
+ var run_info = new pi.v.RunInfo('my_test.json'); |
+ pie.mapStartupInfo(results, run_info, m); |
+ |
+ assert.equal(results.all_values.length, 1); |
+ assert.equal(results.all_values[0].value.browserStartup.min, 10); |
+ assert.equal(results.all_values[0].value.browserStartup.max, 80); |
+ assert.isFalse(results.all_values[0].value.browserStartup.isEmpty); |
+ assert.isTrue(results.all_values[0].value.rendererStartup.isEmpty); |
+ }); |
+ |
+ test('mapperTestEmptyTrace', function() { |
+ var m = test_utils.newModel(); |
+ |
+ var results = new pi.r.Results(); |
+ var run_info = new pi.v.RunInfo('my_test.json'); |
+ pie.mapStartupInfo(results, run_info, m); |
+ |
+ assert.equal(results.all_values.length, 1); |
+ assert.isTrue(results.all_values[0] instanceof pi.v.SkipValue); |
+ }); |
+ |
+}); |
+ |
+</script> |