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

Side by Side Diff: tracing/tracing/value/diagnostics/composition_test.html

Issue 2133963002: Implement Composition.buildFromEvents() (Closed) Base URL: https://github.com/catapult-project/catapult.git@master
Patch Set: . Created 4 years, 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <!--
3 Copyright 2016 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import"
charliea (OOO until 10-5) 2016/07/13 14:30:06 nit: don't have to split over multiple lines
9 href="/tracing/extras/chrome/chrome_user_friendly_category_driver.html">
10 <link rel="import" href="/tracing/model/event_set.html">
11 <link rel="import" href="/tracing/value/diagnostics/composition.html">
12 <link rel="import" href="/tracing/value/numeric.html">
13 <link rel="import" href="/tracing/value/value.html">
14 <link rel="import" href="/tracing/value/value_set.html">
15
16 <script>
17 'use strict';
18
19 tr.b.unittest.testSuite(function() {
20 var TEST_NUMERIC_BUILDER = tr.v.NumericBuilder.createLinear(
21 tr.v.Unit.byName.timeDurationInMs, tr.b.Range.fromExplicitRange(0, 10),
22 10);
23
24 test('build', function() {
25 var values = new tr.v.ValueSet();
26 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(
27 events.push({
28 guid: 9,
29 title: 'EvaluateScript',
30 cpuSelfTime: 1,
31 stableId: '11.11'
32 });
33 events.push({
34 guid: 10,
35 title: 'EvaluateScript',
36 cpuSelfTime: 2,
37 stableId: '22.22'
38 });
39 events.push({
40 guid: 11,
41 title: 'UpdateLayoutTree',
42 cpuSelfTime: 3,
43 stableId: '33.33'
44 });
45 events.push({
46 guid: 12,
47 title: 'UpdateLayoutTree',
48 cpuSelfTime: undefined,
49 stableId: '44.44'
50 });
51 var composition = tr.v.d.Composition.buildFromEvents(
52 values, 'foo-', events, TEST_NUMERIC_BUILDER,
53 tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent);
54
55 assert.lengthOf(composition.values, 2);
56 var scriptValue = values.getValuesWithName('foo-script')[0];
57 assert.instanceOf(scriptValue, tr.v.NumericValue);
58 assert.strictEqual(scriptValue, composition.get('script'));
59 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
60 assert.lengthOf(
61 scriptValue.numeric.centralBins[1].diagnostics[0].events, 1);
62 assert.strictEqual(events[0],
63 scriptValue.numeric.centralBins[1].diagnostics[0].events[0]);
64 assert.lengthOf(scriptValue.numeric.centralBins[2].diagnostics, 1);
65 assert.lengthOf(
66 scriptValue.numeric.centralBins[2].diagnostics[0].events, 1);
67 assert.strictEqual(events[1],
68 scriptValue.numeric.centralBins[2].diagnostics[0].events[0]);
69
70 var styleValue = values.getValuesWithName('foo-style')[0];
71 assert.instanceOf(styleValue, tr.v.NumericValue);
72 assert.strictEqual(styleValue, composition.get('style'));
73 assert.lengthOf(styleValue.numeric.centralBins[3].diagnostics, 1);
74 assert.lengthOf(styleValue.numeric.centralBins[3].diagnostics[0].events, 1);
75 assert.strictEqual(events[2],
76 styleValue.numeric.centralBins[3].diagnostics[0].events[0]);
77 });
78 });
79 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698