@@ -12,18 +12,18 @@ var builtinReporters = require('./reporters');
1212var growl = require ( './nodejs/growl' ) ;
1313var utils = require ( './utils' ) ;
1414var mocharc = require ( './mocharc.json' ) ;
15- var errors = require ( './errors' ) ;
1615var Suite = require ( './suite' ) ;
1716var esmUtils = utils . supportsEsModules ( true )
1817 ? require ( './esm-utils' )
1918 : undefined ;
2019var createStatsCollector = require ( './stats-collector' ) ;
21- var createInvalidReporterError = errors . createInvalidReporterError ;
22- var createInvalidInterfaceError = errors . createInvalidInterfaceError ;
23- var createMochaInstanceAlreadyDisposedError =
24- errors . createMochaInstanceAlreadyDisposedError ;
25- var createMochaInstanceAlreadyRunningError =
26- errors . createMochaInstanceAlreadyRunningError ;
20+ const {
21+ createUnsupportedError,
22+ createInvalidInterfaceError,
23+ createInvalidReporterError,
24+ createMochaInstanceAlreadyDisposedError,
25+ createMochaInstanceAlreadyRunningError
26+ } = require ( './errors' ) ;
2727var EVENT_FILE_PRE_REQUIRE = Suite . constants . EVENT_FILE_PRE_REQUIRE ;
2828var EVENT_FILE_POST_REQUIRE = Suite . constants . EVENT_FILE_POST_REQUIRE ;
2929var EVENT_FILE_REQUIRE = Suite . constants . EVENT_FILE_REQUIRE ;
@@ -445,7 +445,12 @@ Mocha.prototype.loadFilesAsync = function() {
445445 * @param {string } file - Pathname of file to be unloaded.
446446 */
447447Mocha . unloadFile = function ( file ) {
448- delete require . cache [ require . resolve ( file ) ] ;
448+ if ( utils . isBrowser ( ) ) {
449+ throw createUnsupportedError (
450+ 'unloadFile() is only suported in a Node.js environment'
451+ ) ;
452+ }
453+ return require ( './nodejs/file-unloader' ) . unloadFile ( file ) ;
449454} ;
450455
451456/**
@@ -1051,9 +1056,7 @@ Mocha.prototype.rootHooks = function rootHooks(hooks) {
10511056 */
10521057Mocha . prototype . parallelMode = function parallelMode ( enable ) {
10531058 if ( utils . isBrowser ( ) ) {
1054- throw errors . createUnsupportedError (
1055- 'parallel mode is only supported in Node.js'
1056- ) ;
1059+ throw createUnsupportedError ( 'parallel mode is only supported in Node.js' ) ;
10571060 }
10581061 var parallel = enable === true ;
10591062 if (
@@ -1064,7 +1067,7 @@ Mocha.prototype.parallelMode = function parallelMode(enable) {
10641067 return this ;
10651068 }
10661069 if ( this . _state !== mochaStates . INIT ) {
1067- throw errors . createUnsupportedError (
1070+ throw createUnsupportedError (
10681071 'cannot change parallel mode after having called run()'
10691072 ) ;
10701073 }
0 commit comments