mirror of
https://github.com/hanzoai/jest.git
synced 2026-09-24 16:59:57 +00:00
35 lines
902 B
JavaScript
35 lines
902 B
JavaScript
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
|
|
'use strict';
|
|
|
|
const path = require('path');
|
|
|
|
const fs = jest.createMockFromModule('fs');
|
|
|
|
// This is a custom function that our tests can use during setup to specify
|
|
// what the files on the "mock" filesystem should look like when any of the
|
|
// `fs` APIs are used.
|
|
let mockFiles = Object.create(null);
|
|
function __setMockFiles(newMockFiles) {
|
|
mockFiles = Object.create(null);
|
|
for (const file in newMockFiles) {
|
|
const dir = path.dirname(file);
|
|
|
|
if (!mockFiles[dir]) {
|
|
mockFiles[dir] = [];
|
|
}
|
|
mockFiles[dir].push(path.basename(file));
|
|
}
|
|
}
|
|
|
|
// A custom version of `readdirSync` that reads from the special mocked out
|
|
// file list set via __setMockFiles
|
|
function readdirSync(directoryPath) {
|
|
return mockFiles[directoryPath] || [];
|
|
}
|
|
|
|
fs.__setMockFiles = __setMockFiles;
|
|
fs.readdirSync = readdirSync;
|
|
|
|
module.exports = fs;
|