feat: init
This commit is contained in:
7
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts
generated
vendored
Normal file
7
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export declare function statSync(...args: any[]): any;
|
||||
export declare function addStatSyncMock(fn: any): void;
|
||||
export declare function assertMocksUsed(): void;
|
||||
declare const mockFs: {
|
||||
statSync: typeof statSync;
|
||||
};
|
||||
export default mockFs;
|
||||
26
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js
generated
vendored
Normal file
26
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
let statSyncMocks = [];
|
||||
function statSync(...args) {
|
||||
const mock = statSyncMocks.shift();
|
||||
if (typeof mock !== 'function') {
|
||||
throw new Error(`fs.statSync called without configuring a mock`);
|
||||
}
|
||||
return mock(...args);
|
||||
}
|
||||
exports.statSync = statSync;
|
||||
function addStatSyncMock(fn) {
|
||||
statSyncMocks.push(fn);
|
||||
}
|
||||
exports.addStatSyncMock = addStatSyncMock;
|
||||
function assertMocksUsed() {
|
||||
if (statSyncMocks.length) {
|
||||
throw new Error(`fs.afterEach: statSync has ${statSyncMocks.length} unused mocks`);
|
||||
}
|
||||
}
|
||||
exports.assertMocksUsed = assertMocksUsed;
|
||||
const mockFs = {
|
||||
statSync,
|
||||
};
|
||||
exports.default = mockFs;
|
||||
//# sourceMappingURL=fs.js.map
|
||||
1
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map
generated
vendored
Normal file
1
node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../test/__mocks__/fs.ts"],"names":[],"mappings":";;AACA,IAAI,aAAa,GAAU,EAAE,CAAC;AAE9B,SAAgB,QAAQ,CAAC,GAAG,IAAW;IACpC,MAAO,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KACnE;IAED,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAPD,4BAOC;AAED,SAAgB,eAAe,CAAC,EAAO;IACpC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe;IAC5B,IAAI,aAAa,CAAC,MAAM,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,aAAa,CAAC,MAAM,eAAe,CAAC,CAAC;KACrF;AACJ,CAAC;AAJD,0CAIC;AAED,MAAM,MAAM,GAAG;IACZ,QAAQ;CACV,CAAA;AAED,kBAAe,MAAM,CAAC"}
|
||||
1
node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts
generated
vendored
Normal file
1
node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
77
node_modules/@kwsites/file-exists/dist/test/exists.spec.js
generated
vendored
Normal file
77
node_modules/@kwsites/file-exists/dist/test/exists.spec.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
jest.mock('fs');
|
||||
//@ts-ignore
|
||||
const fs_1 = require("fs");
|
||||
const src_1 = require("../src");
|
||||
describe(`exists`, () => {
|
||||
let statSync;
|
||||
let statSyncMock;
|
||||
let path;
|
||||
beforeEach(() => {
|
||||
path = `./path/${Math.random()}`;
|
||||
fs_1.addStatSyncMock(statSyncMock = jest.fn(() => statSync()));
|
||||
});
|
||||
afterEach(() => {
|
||||
fs_1.assertMocksUsed();
|
||||
statSync = statSyncMock = undefined;
|
||||
});
|
||||
describe('known errors', () => {
|
||||
beforeEach(() => givenStatSyncThrows({ code: 'ENOENT' }));
|
||||
it('with type', () => {
|
||||
expect(src_1.exists(path, src_1.READABLE)).toBe(false);
|
||||
});
|
||||
it('with type omitted', () => {
|
||||
expect(src_1.exists(path)).toBe(false);
|
||||
});
|
||||
});
|
||||
describe('unknown errors', () => {
|
||||
let err;
|
||||
beforeEach(() => err = givenStatSyncThrows(new Error('something')));
|
||||
it('with type', () => {
|
||||
expect(() => src_1.exists(path, src_1.READABLE)).toThrow(err);
|
||||
});
|
||||
it('with type omitted', () => {
|
||||
expect(() => src_1.exists(path)).toThrow(err);
|
||||
});
|
||||
});
|
||||
describe('path is a file', () => {
|
||||
beforeEach(() => givenStatSyncIsA('file'));
|
||||
existsReturns(true, false, true);
|
||||
});
|
||||
describe('path is a folder', () => {
|
||||
beforeEach(() => givenStatSyncIsA('folder'));
|
||||
existsReturns(false, true, true);
|
||||
});
|
||||
describe('path is unknown', () => {
|
||||
beforeEach(() => givenStatSyncIsA('unknown'));
|
||||
existsReturns(false, false, false);
|
||||
});
|
||||
function existsReturns(file, folder, readable) {
|
||||
it('when searching for a file', () => {
|
||||
expect(src_1.exists(path, src_1.FILE)).toBe(file);
|
||||
});
|
||||
it('when searching for a folder', () => {
|
||||
expect(src_1.exists(path, src_1.FOLDER)).toBe(folder);
|
||||
});
|
||||
it('when searching for either', () => {
|
||||
expect(src_1.exists(path, src_1.READABLE)).toBe(readable);
|
||||
});
|
||||
it('when searching without a type', () => {
|
||||
expect(src_1.exists(path)).toBe(readable);
|
||||
});
|
||||
}
|
||||
function givenStatSyncThrows(err) {
|
||||
statSync = () => { throw err; };
|
||||
return err;
|
||||
}
|
||||
function givenStatSyncIsA(type) {
|
||||
const mockStat = {
|
||||
isFile() { return type === 'file'; },
|
||||
isDirectory() { return type === 'folder'; },
|
||||
};
|
||||
statSync = () => mockStat;
|
||||
return mockStat;
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=exists.spec.js.map
|
||||
1
node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map
generated
vendored
Normal file
1
node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"exists.spec.js","sourceRoot":"","sources":["../../test/exists.spec.ts"],"names":[],"mappings":"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"}
|
||||
Reference in New Issue
Block a user