@@ -12,18 +12,18 @@ var builtinReporters = require('./reporters');
12
12
var growl = require ( './nodejs/growl' ) ;
13
13
var utils = require ( './utils' ) ;
14
14
var mocharc = require ( './mocharc.json' ) ;
15
- var errors = require ( './errors' ) ;
16
15
var Suite = require ( './suite' ) ;
17
16
var esmUtils = utils . supportsEsModules ( true )
18
17
? require ( './esm-utils' )
19
18
: undefined ;
20
19
var 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' ) ;
27
27
var EVENT_FILE_PRE_REQUIRE = Suite . constants . EVENT_FILE_PRE_REQUIRE ;
28
28
var EVENT_FILE_POST_REQUIRE = Suite . constants . EVENT_FILE_POST_REQUIRE ;
29
29
var EVENT_FILE_REQUIRE = Suite . constants . EVENT_FILE_REQUIRE ;
@@ -445,7 +445,12 @@ Mocha.prototype.loadFilesAsync = function() {
445
445
* @param {string } file - Pathname of file to be unloaded.
446
446
*/
447
447
Mocha . 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 ) ;
449
454
} ;
450
455
451
456
/**
@@ -1051,9 +1056,7 @@ Mocha.prototype.rootHooks = function rootHooks(hooks) {
1051
1056
*/
1052
1057
Mocha . prototype . parallelMode = function parallelMode ( enable ) {
1053
1058
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' ) ;
1057
1060
}
1058
1061
var parallel = enable === true ;
1059
1062
if (
@@ -1064,7 +1067,7 @@ Mocha.prototype.parallelMode = function parallelMode(enable) {
1064
1067
return this ;
1065
1068
}
1066
1069
if ( this . _state !== mochaStates . INIT ) {
1067
- throw errors . createUnsupportedError (
1070
+ throw createUnsupportedError (
1068
1071
'cannot change parallel mode after having called run()'
1069
1072
) ;
1070
1073
}
0 commit comments