mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
import lodashStable from 'lodash';
|
|
import { _, falsey, stubObject, noop } from './utils';
|
|
|
|
describe('mapKeys and mapValues', () => {
|
|
lodashStable.each(['mapKeys', 'mapValues'], (methodName) => {
|
|
const func = _[methodName];
|
|
const object = { a: 1, b: 2 };
|
|
|
|
it(`\`_.${methodName}\` should iterate over own string keyed properties of objects`, () => {
|
|
function Foo() {
|
|
this.a = 'a';
|
|
}
|
|
Foo.prototype.b = 'b';
|
|
|
|
const actual = func(new Foo(), (value, key) => key);
|
|
expect(actual).toEqual({ a: 'a' });
|
|
});
|
|
|
|
it(`\`_.${methodName}\` should accept a falsey \`object\``, () => {
|
|
const expected = lodashStable.map(falsey, stubObject);
|
|
|
|
const actual = lodashStable.map(falsey, (object, index) => {
|
|
try {
|
|
return index ? func(object) : func();
|
|
} catch (e) {}
|
|
});
|
|
|
|
expect(actual).toEqual(expected);
|
|
});
|
|
|
|
it(`\`_.${methodName}\` should return a wrapped value when chaining`, () => {
|
|
expect(_(object)[methodName](noop) instanceof _);
|
|
});
|
|
});
|
|
});
|