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

34 lines
1.2 KiB
TypeScript

import assert from 'node:assert';
import { oldDash, coverage, document, isModularize, realm, filePath } from './utils';
import noConflict from '../src/noConflict';
describe('noConflict', () => {
it('should return the `lodash` function', () => {
assert.strictEqual(noConflict(), oldDash);
assert.notStrictEqual(root._, oldDash);
root._ = oldDash;
});
it('should restore `_` only if `lodash` is the current `_` value', () => {
const object = (root._ = {});
assert.strictEqual(noConflict(), oldDash);
assert.strictEqual(root._, object);
root._ = oldDash;
});
it('should work with a `root` of `this`', () => {
if (!coverage && !document && !isModularize && realm.object) {
const fs = require('fs'),
vm = require('vm'),
expected = {},
context = vm.createContext({ _: expected, console: console }),
source = fs.readFileSync(filePath, 'utf8');
vm.runInContext(`${source}\nthis.lodash = this._.noConflict()`, context);
assert.strictEqual(context._, expected);
assert.ok(context.lodash);
}
});
});