| 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 |