Files
lodash/test/lodash(...).value.spec.ts
2023-09-16 14:47:50 -07:00

34 lines
1.1 KiB
TypeScript

import assert from 'node:assert';
import { isNpm } from './utils';
import prototype from '../src/prototype';
describe('lodash(...).value', () => {
it('should execute the chained sequence and extract the unwrapped value', () => {
const array = [1],
wrapped = _(array).push(2).push(3);
assert.deepEqual(array, [1]);
assert.deepEqual(wrapped.value(), [1, 2, 3]);
assert.deepEqual(wrapped.value(), [1, 2, 3, 2, 3]);
assert.deepEqual(array, [1, 2, 3, 2, 3]);
});
it('should return the `valueOf` result of the wrapped value', () => {
const wrapped = _(123);
assert.strictEqual(Number(wrapped), 123);
});
it('should stringify the wrapped value when used by `JSON.stringify`', () => {
if (!isNpm && JSON) {
const wrapped = _([1, 2, 3]);
assert.strictEqual(JSON.stringify(wrapped), '[1,2,3]');
}
});
it('should be aliased', () => {
const expected = prototype.value;
assert.strictEqual(prototype.toJSON, expected);
assert.strictEqual(prototype.valueOf, expected);
});
});