Index: tracing/tracing/value/diagnostics/composition_test.html |
diff --git a/tracing/tracing/value/diagnostics/composition_test.html b/tracing/tracing/value/diagnostics/composition_test.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..93a7469256c4cf002ae54418f7acb150b91eaab3 |
--- /dev/null |
+++ b/tracing/tracing/value/diagnostics/composition_test.html |
@@ -0,0 +1,80 @@ |
+<!DOCTYPE html> |
+<!-- |
+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. |
+--> |
+ |
+<link rel="import" href="/tracing/extras/chrome/chrome_user_friendly_category_driver.html"> |
+<link rel="import" href="/tracing/model/event_set.html"> |
+<link rel="import" href="/tracing/value/diagnostics/composition.html"> |
+<link rel="import" href="/tracing/value/numeric.html"> |
+<link rel="import" href="/tracing/value/value.html"> |
+<link rel="import" href="/tracing/value/value_set.html"> |
+ |
+<script> |
+'use strict'; |
+ |
+tr.b.unittest.testSuite(function() { |
+ var TEST_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear( |
+ tr.v.Unit.byName.timeDurationInMs, tr.b.Range.fromExplicitRange(0, 10), |
+ 10); |
+ |
+ test('build', function() { |
+ var values = new tr.v.ValueSet(); |
+ var events = new tr.model.EventSet([ |
+ { |
+ guid: 9, |
+ title: 'EvaluateScript', |
+ cpuSelfTime: 1, |
+ stableId: '11.11' |
+ }, |
+ { |
+ guid: 10, |
+ title: 'EvaluateScript', |
+ cpuSelfTime: 2, |
+ stableId: '22.22' |
+ }, |
+ { |
+ guid: 11, |
+ title: 'UpdateLayoutTree', |
+ cpuSelfTime: 3, |
+ stableId: '33.33' |
+ }, |
+ { |
+ guid: 12, |
+ title: 'UpdateLayoutTree', |
+ cpuSelfTime: undefined, |
+ stableId: '44.44' |
+ } |
+ ]); |
+ |
+ var composition = tr.v.d.Composition.buildFromEvents( |
+ values, 'foo-', events, TEST_NUMERIC_BUILDER, |
+ tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent); |
+ |
+ assert.lengthOf(composition.values, 2); |
+ var scriptValue = values.getValuesWithName('foo-script')[0]; |
+ assert.instanceOf(scriptValue, tr.v.NumericValue); |
+ assert.strictEqual(scriptValue, composition.get('script')); |
+ assert.lengthOf(scriptValue.numeric.centralBins[1].diagnostics, 1); |
+ assert.lengthOf( |
+ scriptValue.numeric.centralBins[1].diagnostics[0].events, 1); |
+ assert.strictEqual(events[0], |
+ scriptValue.numeric.centralBins[1].diagnostics[0].events[0]); |
+ assert.lengthOf(scriptValue.numeric.centralBins[2].diagnostics, 1); |
+ assert.lengthOf( |
+ scriptValue.numeric.centralBins[2].diagnostics[0].events, 1); |
+ assert.strictEqual(events[1], |
+ scriptValue.numeric.centralBins[2].diagnostics[0].events[0]); |
+ |
+ var styleValue = values.getValuesWithName('foo-style')[0]; |
+ assert.instanceOf(styleValue, tr.v.NumericValue); |
+ assert.strictEqual(styleValue, composition.get('style')); |
+ assert.lengthOf(styleValue.numeric.centralBins[3].diagnostics, 1); |
+ assert.lengthOf(styleValue.numeric.centralBins[3].diagnostics[0].events, 1); |
+ assert.strictEqual(events[2], |
+ styleValue.numeric.centralBins[3].diagnostics[0].events[0]); |
+ }); |
+}); |
+</script> |