Files
lodash/test/wrap.spec.js
tison bd518dd906 test: partially fix broken tests (#5733)
* test: fix throttle.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix pickBy.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix isBuffer.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: partially fix attempt.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: partially fix dropRightWhile.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix defer.spec.js and rest.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix invoke.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix isArray.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: partially fix iteration-methods.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix xor-methods.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix property.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix ary.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix omit-methods.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix debounce-and-throttle.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix unzip-and-zip.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix toPairs-methods.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix exit-early.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: temporarily comment out takeWhile and dropWhile tests

Signed-off-by: tison <wander4096@gmail.com>

* test: partially fix union*.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix startsWith-and-endsWith.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix isNil.spec.js

Signed-off-by: tison <wander4096@gmail.com>

* test: fix some of syntax errors

Signed-off-by: tison <wander4096@gmail.com>

---------

Signed-off-by: tison <wander4096@gmail.com>
2023-09-21 07:40:27 -07:00

44 lines
1.4 KiB
JavaScript

import lodashStable from 'lodash';
import { noop, slice, stubA } from './utils';
import wrap from '../src/wrap';
describe('wrap', () => {
it('should create a wrapped function', () => {
const p = wrap(lodashStable.escape, (func, text) => `<p>${func(text)}</p>`);
expect(p('fred, barney, & pebbles')).toBe('<p>fred, barney &amp; pebbles</p>');
});
it('should provide correct `wrapper` arguments', () => {
let args;
const wrapped = wrap(noop, function () {
args || (args = slice.call(arguments));
});
wrapped(1, 2, 3);
expect(args).toEqual([noop, 1, 2, 3]);
});
it('should use `_.identity` when `wrapper` is nullish', () => {
const values = [, null, undefined];
const expected = lodashStable.map(values, stubA);
const actual = lodashStable.map(values, (value, index) => {
const wrapped = index ? wrap('a', value) : wrap('a');
return wrapped('b', 'c');
});
expect(actual).toEqual(expected);
});
it('should use `this` binding of function', () => {
const p = wrap(lodashStable.escape, function (func) {
return `<p>${func(this.text)}</p>`;
});
const object = { p: p, text: 'fred, barney, & pebbles' };
expect(object.p()).toBe('<p>fred, barney &amp; pebbles</p>');
});
});