Chromium Code Reviews| 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..dc1479361ff45989a7562681914e19b2df121922 |
| --- /dev/null |
| +++ b/tracing/tracing/value/diagnostics/composition_test.html |
| @@ -0,0 +1,79 @@ |
| +<!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" |
|
charliea (OOO until 10-5)
2016/07/13 14:30:06
nit: don't have to split over multiple lines
|
| + 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(); |
|
charliea (OOO until 10-5)
2016/07/13 14:30:06
Can just do:
var events = new tr.model.EventSet(
|
| + events.push({ |
| + guid: 9, |
| + title: 'EvaluateScript', |
| + cpuSelfTime: 1, |
| + stableId: '11.11' |
| + }); |
| + events.push({ |
| + guid: 10, |
| + title: 'EvaluateScript', |
| + cpuSelfTime: 2, |
| + stableId: '22.22' |
| + }); |
| + events.push({ |
| + guid: 11, |
| + title: 'UpdateLayoutTree', |
| + cpuSelfTime: 3, |
| + stableId: '33.33' |
| + }); |
| + events.push({ |
| + 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); |
|
charliea (OOO until 10-5)
2016/07/13 14:30:06
I think you might just be able to do:
assert.incl
benjhayden
2016/07/13 18:03:04
I find deepEqual's error message useless. lengthOf
|
| + 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> |