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

Side by Side Diff: tracing/tracing/base/range_utils_test.html

Issue 2771723003: [tracing] Move math utilities from base into their own subdirectory (attempt 2) (Closed)
Patch Set: rebase Created 3 years, 9 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
« no previous file with comments | « tracing/tracing/base/range_utils.html ('k') | tracing/tracing/base/rect.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 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" href="/tracing/base/range_utils.html">
9 <link rel="import" href="/tracing/core/test_utils.html">
10
11 <script>
12 'use strict';
13
14 tr.b.unittest.testSuite(function() {
15 function simpleMerger(events) {
16 return {
17 min: events[0].min,
18 max: events[events.length - 1].max
19 };
20 }
21 test('simple', function() {
22 var inEvents = [
23 {min: 0, max: 100},
24 {min: 100, max: 120},
25 {min: 200, max: 220}
26 ];
27
28 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger);
29
30 assert.equal(merged.length, 2);
31 assert.deepEqual(merged[0], {min: 0, max: 120});
32 assert.deepEqual(merged[1], {min: 200, max: 220});
33 });
34
35 test('overlapping', function() {
36 var inEvents = [
37 {min: 0, max: 100},
38 {min: 80, max: 120},
39 {min: 200, max: 220}
40 ];
41
42 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger);
43
44 assert.equal(merged.length, 2);
45 assert.deepEqual(merged[0], {min: 0, max: 120});
46 assert.deepEqual(merged[1], {min: 200, max: 220});
47 });
48
49 test('middleOneIsSmall', function() {
50 var inEvents = [
51 {min: 0, max: 100},
52 {min: 40, max: 50},
53 {min: 100, max: 120}
54 ];
55
56 var merged = tr.b.mergeRanges(inEvents, 50, simpleMerger);
57
58 assert.equal(merged.length, 1);
59 assert.deepEqual(merged[0], {min: 0, max: 120});
60 });
61
62 test('firstEventIsSplitPoint', function() {
63 var inEvents = [
64 {min: 0, max: 100},
65 {min: 150, max: 200}
66 ];
67
68 var merged = tr.b.mergeRanges(inEvents, 25, simpleMerger);
69
70 assert.equal(merged.length, 2);
71 assert.deepEqual(merged[0], {min: 0, max: 100});
72 assert.deepEqual(merged[1], {min: 150, max: 200});
73 });
74
75 test('mergeSingleEvent', function() {
76 var inEvents = [
77 {min: 0, max: 100}
78 ];
79
80 var mergeCount = 0;
81 tr.b.mergeRanges(inEvents, 25, function(events) {
82 assert.deepEqual(events, inEvents);
83 mergeCount++;
84 });
85 assert.equal(mergeCount, 1);
86 });
87
88 test('zeroDurationSplit', function() {
89 var inEvents = [0, 10, 20, 50, 60];
90 inEvents = inEvents.map(function(event) {
91 return tr.b.Range.fromExplicitRange(event, event);
92 });
93 var timestampMerger = function(timestamps) {
94 return {
95 min: timestamps[0].min,
96 max: timestamps[timestamps.length - 1].max
97 };
98 };
99 var merged = tr.b.mergeRanges(inEvents, 15, timestampMerger);
100 assert.equal(merged.length, 2);
101 assert.deepEqual(merged[0], {min: 0, max: 20});
102 assert.deepEqual(merged[1], {min: 50, max: 60});
103 });
104
105 test('findEmptyRangesBetweenRanges', function() {
106 var events = [
107 {min: 2, max: 4},
108 {min: 1, max: 3},
109 {min: 6, max: 8}
110 ];
111 var ranges = tr.b.findEmptyRangesBetweenRanges(
112 events, {min: 0, max: 10});
113 assert.equal(3, ranges.length);
114 assert.equal(0, ranges[0].min);
115 assert.equal(1, ranges[0].max);
116 assert.equal(4, ranges[1].min);
117 assert.equal(6, ranges[1].max);
118 assert.equal(8, ranges[2].min);
119 assert.equal(10, ranges[2].max);
120 });
121
122 test('findEmptyRangesWithEmptyInput', function() {
123 var ranges = tr.b.findEmptyRangesBetweenRanges(
124 [], {min: 0, max: 10});
125 assert.equal(1, ranges.length);
126 assert.equal(0, ranges[0].min);
127 assert.equal(10, ranges[0].max);
128
129 ranges = tr.b.findEmptyRangesBetweenRanges([]);
130 assert.equal(0, ranges.length);
131 });
132 });
133 </script>
OLDNEW
« no previous file with comments | « tracing/tracing/base/range_utils.html ('k') | tracing/tracing/base/rect.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698