-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
22 lines (17 loc) · 799 Bytes
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const assert = require('assert');
const pluck = require('./');
describe('pluck', () => {
it('should look through the list and return an array of values that matches the key provided', () => {
const stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
const test = obj => pluck(stooges, obj);
assert.deepEqual(test('name'), ['moe', 'larry', 'curly']);
assert.deepEqual(test('age'), [40, 50, 60]);
});
it('should return missing properties as undefined', () => {
const people = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
assert.deepEqual(pluck(people, 'address'), [void 0, void 0, void 0]);
});
it('should handle objects as keys', () => {
assert.deepEqual(pluck([{'[object Object]': 1}], {}), [1]);
});
});