UNPKG

@parcel/core

Version:
63 lines (56 loc) 1.9 kB
// @flow strict-local // eslint-disable-next-line @parcel/no-self-package-imports import {clearBuildCaches} from '@parcel/core/src/buildCache'; import {resolveDevDepRequestRef} from '../../src/requests/DevDepRequest'; import type {DevDepRequest, DevDepRequestRef} from '../../src/types'; import {toProjectPath} from '../../src/projectPath'; import assert from 'assert'; describe('DevDepRequest', () => { beforeEach(() => { clearBuildCaches(); }); describe('resolveDevDepRequestRef', () => { it('will return requests as is', () => { const request: DevDepRequest = { specifier: 'test', hash: 'hash', invalidateOnFileChange: new Set(), invalidateOnFileCreate: [], invalidateOnStartup: false, resolveFrom: toProjectPath('', 'path.js'), }; const result = resolveDevDepRequestRef(request); assert.equal(result, request); }); it('will return cached requests for refs', () => { const request: DevDepRequest = { specifier: 'test', hash: 'hash', invalidateOnFileChange: new Set(), invalidateOnFileCreate: [], invalidateOnStartup: false, resolveFrom: toProjectPath('', 'path.js'), }; resolveDevDepRequestRef(request); const devDepRequestRef: DevDepRequestRef = { type: 'ref', specifier: 'test', hash: 'hash', resolveFrom: toProjectPath('', 'path.js'), }; const result = resolveDevDepRequestRef(devDepRequestRef); assert.equal(result, request); }); it('will throw for uncached refs', () => { const devDepRequestRef: DevDepRequestRef = { type: 'ref', specifier: 'test', hash: 'hash', resolveFrom: toProjectPath('', 'path.js'), }; assert.throws(() => { resolveDevDepRequestRef(devDepRequestRef); }); }); }); });