|
|
|
|
@ -6,6 +6,7 @@ interface Test {
|
|
|
|
|
test: string;
|
|
|
|
|
options: Omit<CrawlOptions, 'extensions'>;
|
|
|
|
|
files: Record<string, boolean>;
|
|
|
|
|
skipOnWin32?: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const cwd = process.cwd();
|
|
|
|
|
@ -48,6 +49,18 @@ const tests: Test[] = [
|
|
|
|
|
'/photos/image.jpg': true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
test: 'should crawl folders with quotes',
|
|
|
|
|
options: {
|
|
|
|
|
pathsToCrawl: ["/photo's/", '/photo"s/', '/photo`s/'],
|
|
|
|
|
},
|
|
|
|
|
files: {
|
|
|
|
|
"/photo's/image1.jpg": true,
|
|
|
|
|
'/photo"s/image2.jpg': true,
|
|
|
|
|
'/photo`s/image3.jpg': true,
|
|
|
|
|
},
|
|
|
|
|
skipOnWin32: true, // single quote interferes with mockfs root on Windows
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
test: 'should crawl a single file',
|
|
|
|
|
options: {
|
|
|
|
|
@ -270,8 +283,12 @@ describe('crawl', () => {
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
describe('crawl', () => {
|
|
|
|
|
for (const { test, options, files } of tests) {
|
|
|
|
|
it(test, async () => {
|
|
|
|
|
for (const { test: name, options, files, skipOnWin32 } of tests) {
|
|
|
|
|
if (process.platform === 'win32' && skipOnWin32) {
|
|
|
|
|
test.skip(name);
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
it(name, async () => {
|
|
|
|
|
// The file contents is the same as the path.
|
|
|
|
|
mockfs(Object.fromEntries(Object.keys(files).map((file) => [file, file])));
|
|
|
|
|
|
|
|
|
|
|