@@ -48,6 +48,9 @@ describe('Mocha', function () {
4848 stubs . Suite = sinon . stub ( ) . returns ( stubs . suite ) ;
4949 stubs . Suite . constants = { } ;
5050 stubs . ParallelBufferedRunner = sinon . stub ( ) . returns ( { } ) ;
51+ stubs . esmUtils = {
52+ loadFilesAsync : sinon . stub ( )
53+ } ;
5154 const runner = Object . assign ( sinon . createStubInstance ( EventEmitter ) , {
5255 runAsync : sinon . stub ( ) . resolves ( 0 ) ,
5356 globals : sinon . stub ( ) ,
@@ -66,6 +69,7 @@ describe('Mocha', function () {
6669 '../../lib/suite.js' : stubs . Suite ,
6770 '../../lib/nodejs/parallel-buffered-runner.js' :
6871 stubs . ParallelBufferedRunner ,
72+ '../../lib/nodejs/esm-utils' : stubs . esmUtils ,
6973 '../../lib/runner.js' : stubs . Runner ,
7074 '../../lib/errors.js' : stubs . errors
7175 } )
@@ -219,6 +223,21 @@ describe('Mocha', function () {
219223 } ) ;
220224 } ) ;
221225
226+ describe ( 'loadFilesAsync()' , function ( ) {
227+ it ( 'shoud pass esmDecorator to actual load function' , async function ( ) {
228+ const esmDecorator = x => `${ x } ?foo=bar` ;
229+
230+ await mocha . loadFilesAsync ( { esmDecorator} ) ;
231+
232+ expect ( stubs . esmUtils . loadFilesAsync , 'was called once' ) ;
233+ expect (
234+ stubs . esmUtils . loadFilesAsync . firstCall . args [ 3 ] ,
235+ 'to be' ,
236+ esmDecorator
237+ ) ;
238+ } ) ;
239+ } ) ;
240+
222241 describe ( 'unloadFiles()' , function ( ) {
223242 it ( 'should delegate Mocha.unloadFile() for each item in its list of files' , function ( ) {
224243 mocha . files = [ DUMB_FIXTURE_PATH , DUMBER_FIXTURE_PATH ] ;
0 commit comments