OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <!-- | 2 <!-- |
3 Copyright (c) 2014 The Chromium Authors. All rights reserved. | 3 Copyright (c) 2014 The Chromium Authors. All rights reserved. |
4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
5 found in the LICENSE file. | 5 found in the LICENSE file. |
6 --> | 6 --> |
7 <link rel="import" href="/tracing/base/iteration_helpers.html"> | 7 <link rel="import" href="/tracing/base/iteration_helpers.html"> |
8 <script> | 8 <script> |
9 'use strict'; | 9 'use strict'; |
10 | 10 |
11 tr.b.unittest.testSuite(function() { | 11 tr.b.unittest.testSuite(function() { |
12 const comparePossiblyUndefinedValues = tr.b.comparePossiblyUndefinedValues; | 12 const comparePossiblyUndefinedValues = tr.b.comparePossiblyUndefinedValues; |
13 const compareArrays = tr.b.compareArrays; | 13 const compareArrays = tr.b.compareArrays; |
14 const asArray = tr.b.asArray; | |
15 const getOnlyElement = tr.b.getOnlyElement; | 14 const getOnlyElement = tr.b.getOnlyElement; |
16 const getFirstElement = tr.b.getFirstElement; | 15 const getFirstElement = tr.b.getFirstElement; |
17 | 16 |
18 test('setsEqual', function() { | 17 test('setsEqual', function() { |
19 assert.isTrue(tr.b.setsEqual(new Set(), new Set())); | 18 assert.isTrue(tr.b.setsEqual(new Set(), new Set())); |
20 assert.isTrue(tr.b.setsEqual(new Set(['a']), new Set(['a']))); | 19 assert.isTrue(tr.b.setsEqual(new Set(['a']), new Set(['a']))); |
21 assert.isFalse(tr.b.setsEqual(new Set(), undefined)); | 20 assert.isFalse(tr.b.setsEqual(new Set(), undefined)); |
22 assert.isFalse(tr.b.setsEqual(new Set(), new Set(['a']))); | 21 assert.isFalse(tr.b.setsEqual(new Set(), new Set(['a']))); |
23 assert.isFalse(tr.b.setsEqual(new Set(['a']), new Set(['b']))); | 22 assert.isFalse(tr.b.setsEqual(new Set(['a']), new Set(['b']))); |
24 }); | 23 }); |
25 | 24 |
26 test('asArray_indexed', function() { | |
27 assert.deepEqual(asArray({'0': 2, '1': 4, '2': 6, 'length': 3}), [2, 4, 6]); | |
28 }); | |
29 | |
30 test('asArray_iterable', function() { | |
31 function* iterfunc() { | |
32 yield 2; | |
33 yield 4; | |
34 yield 6; | |
35 } | |
36 assert.deepEqual(asArray({[Symbol.iterator]: iterfunc}), [2, 4, 6]); | |
37 }); | |
38 | |
39 test('comparePossiblyUndefinedValues', function() { | 25 test('comparePossiblyUndefinedValues', function() { |
40 function cmp(x, y) { | 26 function cmp(x, y) { |
41 assert.isDefined(x); | 27 assert.isDefined(x); |
42 assert.isDefined(y); | 28 assert.isDefined(y); |
43 return x - y; | 29 return x - y; |
44 } | 30 } |
45 | 31 |
46 assert.isBelow(comparePossiblyUndefinedValues(0, 1, cmp), 0); | 32 assert.isBelow(comparePossiblyUndefinedValues(0, 1, cmp), 0); |
47 assert.isAbove(comparePossiblyUndefinedValues(1, 0, cmp), 0); | 33 assert.isAbove(comparePossiblyUndefinedValues(1, 0, cmp), 0); |
48 assert.strictEqual(comparePossiblyUndefinedValues(1, 1, cmp), 0); | 34 assert.strictEqual(comparePossiblyUndefinedValues(1, 1, cmp), 0); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 | 191 |
206 test('invertArrayOfDicts_defaultGetter', function() { | 192 test('invertArrayOfDicts_defaultGetter', function() { |
207 const array = [ | 193 const array = [ |
208 {a: 6, b: 5}, | 194 {a: 6, b: 5}, |
209 undefined, | 195 undefined, |
210 {a: 4, b: 3, c: 2}, | 196 {a: 4, b: 3, c: 2}, |
211 {b: 1, c: 0} | 197 {b: 1, c: 0} |
212 ]; | 198 ]; |
213 const dict = tr.b.invertArrayOfDicts(array); | 199 const dict = tr.b.invertArrayOfDicts(array); |
214 assert.sameMembers(Object.keys(dict), ['a', 'b', 'c']); | 200 assert.sameMembers(Object.keys(dict), ['a', 'b', 'c']); |
215 assert.deepEqual(tr.b.asArray(dict.a), [6, undefined, 4, undefined]); | 201 assert.deepEqual(Array.from(dict.a), [6, undefined, 4, undefined]); |
216 assert.deepEqual(tr.b.asArray(dict.b), [5, undefined, 3, 1]); | 202 assert.deepEqual(Array.from(dict.b), [5, undefined, 3, 1]); |
217 assert.deepEqual(tr.b.asArray(dict.c), [undefined, undefined, 2, 0]); | 203 assert.deepEqual(Array.from(dict.c), [undefined, undefined, 2, 0]); |
218 }); | 204 }); |
219 | 205 |
220 test('invertArrayOfDicts_customGetter', function() { | 206 test('invertArrayOfDicts_customGetter', function() { |
221 const fakeThis = { itemToDict: JSON.parse }; | 207 const fakeThis = { itemToDict: JSON.parse }; |
222 const array = [ | 208 const array = [ |
223 '{"a": "test", "b": true}', | 209 '{"a": "test", "b": true}', |
224 '{}', | 210 '{}', |
225 '{invalid-json}', | 211 '{invalid-json}', |
226 '{"a": 42, "c": false}' | 212 '{"a": 42, "c": false}' |
227 ]; | 213 ]; |
228 const dict = tr.b.invertArrayOfDicts(array, function(item) { | 214 const dict = tr.b.invertArrayOfDicts(array, function(item) { |
229 try { | 215 try { |
230 return this.itemToDict(item); | 216 return this.itemToDict(item); |
231 } catch (e) { | 217 } catch (e) { |
232 return undefined; | 218 return undefined; |
233 } | 219 } |
234 }, fakeThis); | 220 }, fakeThis); |
235 assert.sameMembers(Object.keys(dict), ['a', 'b', 'c']); | 221 assert.sameMembers(Object.keys(dict), ['a', 'b', 'c']); |
236 assert.deepEqual( | 222 assert.deepEqual( |
237 tr.b.asArray(dict.a), ['test', undefined, undefined, 42]); | 223 Array.from(dict.a), ['test', undefined, undefined, 42]); |
238 assert.deepEqual( | 224 assert.deepEqual( |
239 tr.b.asArray(dict.b), [true, undefined, undefined, undefined]); | 225 Array.from(dict.b), [true, undefined, undefined, undefined]); |
240 assert.deepEqual( | 226 assert.deepEqual( |
241 tr.b.asArray(dict.c), [undefined, undefined, undefined, false]); | 227 Array.from(dict.c), [undefined, undefined, undefined, false]); |
242 }); | 228 }); |
243 | 229 |
244 test('arrayToDict', function() { | 230 test('arrayToDict', function() { |
245 const fakeThis = { prefix: 'key_' }; | 231 const fakeThis = { prefix: 'key_' }; |
246 const array = [5, undefined, 'test']; | 232 const array = [5, undefined, 'test']; |
247 const dict = tr.b.arrayToDict(array, function(value) { | 233 const dict = tr.b.arrayToDict(array, function(value) { |
248 return this.prefix + value; | 234 return this.prefix + value; |
249 }, fakeThis); | 235 }, fakeThis); |
250 assert.deepEqual(dict, { | 236 assert.deepEqual(dict, { |
251 'key_5': 5, | 237 'key_5': 5, |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
300 const map = new Map(); | 286 const map = new Map(); |
301 map.set('a', 1); | 287 map.set('a', 1); |
302 map.set('b', 2); | 288 map.set('b', 2); |
303 map.set('c', 3); | 289 map.set('c', 3); |
304 const values = tr.b.mapValues(map); | 290 const values = tr.b.mapValues(map); |
305 assert.strictEqual(values.length, 3); | 291 assert.strictEqual(values.length, 3); |
306 assert.sameMembers([1, 2, 3], values); | 292 assert.sameMembers([1, 2, 3], values); |
307 }); | 293 }); |
308 }); | 294 }); |
309 </script> | 295 </script> |
OLD | NEW |