From 0f79b065bcee2581d0e7f80bdceb3e4f7d0c4674 Mon Sep 17 00:00:00 2001 From: Emilien Muraton Date: Fri, 24 Aug 2018 15:07:57 +0100 Subject: [PATCH] fix: callback early is readdir throw an error --- .../jest-haste-map/src/crawlers/__tests__/node.test.js | 8 ++++---- packages/jest-haste-map/src/crawlers/node.js | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/jest-haste-map/src/crawlers/__tests__/node.test.js b/packages/jest-haste-map/src/crawlers/__tests__/node.test.js index 7734a04b143e..599075bb3269 100644 --- a/packages/jest-haste-map/src/crawlers/__tests__/node.test.js +++ b/packages/jest-haste-map/src/crawlers/__tests__/node.test.js @@ -59,8 +59,8 @@ jest.mock('fs', () => { setTimeout(() => callback(null, ['directory', 'tomato.js']), 0); } else if (dir === '/fruits/directory') { setTimeout(() => callback(null, ['strawberry.js']), 0); - } else if (dir == '/empty') { - setTimeout(() => callback(null, null), 0); + } else if (dir == '/error') { + setTimeout(() => callback({code: 'ENOTDIR'}, undefined), 0); } }), stat: jest.fn(stat), @@ -220,7 +220,7 @@ describe('node crawler', () => { }); }); - it('completes with undefined names', () => { + it('completes with fs.readdir throwing an error', () => { process.platform = 'win32'; nodeCrawl = require('../node'); @@ -230,7 +230,7 @@ describe('node crawler', () => { data: {files}, extensions: ['js'], ignore: pearMatcher, - roots: ['/empty'], + roots: ['/error'], }).then(data => { expect(data.files).toEqual({}); }); diff --git a/packages/jest-haste-map/src/crawlers/node.js b/packages/jest-haste-map/src/crawlers/node.js index 004dd46f23a1..96ce13d6e076 100644 --- a/packages/jest-haste-map/src/crawlers/node.js +++ b/packages/jest-haste-map/src/crawlers/node.js @@ -30,7 +30,7 @@ function find( activeCalls++; fs.readdir(directory, (err, names) => { activeCalls--; - if (!names) { + if (err) { callback(result); return; }