mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-03 08:37:49 +00:00
34 lines
1.2 KiB
TypeScript
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);
|
|
}
|
|
});
|
|
});
|