diff --git a/packages/metro-file-map/src/watchers/__tests__/integration-test.js b/packages/metro-file-map/src/watchers/__tests__/integration-test.js index 534caeec81..93f54b82ca 100644 --- a/packages/metro-file-map/src/watchers/__tests__/integration-test.js +++ b/packages/metro-file-map/src/watchers/__tests__/integration-test.js @@ -207,6 +207,33 @@ describe.each(Object.keys(WATCHERS))( }); }); + maybeTest('detects changes to files in a new directory', async () => { + expect( + await eventHelpers.nextEvent(() => mkdir(join(watchRoot, 'newdir'))), + ).toStrictEqual({ + path: join('newdir'), + eventType: 'add', + metadata: { + modifiedTime: expect.any(Number), + size: expect.any(Number), + type: 'd', + }, + }); + expect( + await eventHelpers.nextEvent(() => + writeFile(join(watchRoot, 'newdir', 'file-in-new-dir.js'), 'code'), + ), + ).toStrictEqual({ + path: join('newdir', 'file-in-new-dir.js'), + eventType: 'add', + metadata: { + modifiedTime: expect.any(Number), + size: expect.any(Number), + type: 'f', + }, + }); + }); + maybeTest( 'emits deletion for all files when a directory is deleted', async () => {