@@ -20,6 +20,9 @@ Error.stackTraceLimit = Infinity;
20
20
module . exports = function reduce_test ( testcase , minify_options , reduce_options ) {
21
21
minify_options = minify_options || { } ;
22
22
reduce_options = reduce_options || { } ;
23
+ var parse_options = {
24
+ module : minify_options . module || minify_options . module === undefined ,
25
+ }
23
26
var print_options = { } ;
24
27
[
25
28
"ie" ,
@@ -539,9 +542,7 @@ module.exports = function reduce_test(testcase, minify_options, reduce_options)
539
542
var before_iterations , diff_error_message , passes = 3 , testcase_ast ;
540
543
for ( var pass = 1 ; pass <= passes ; pass ++ ) {
541
544
if ( before_iterations !== testcase ) {
542
- testcase_ast = U . parse ( testcase , {
543
- module : minify_options . module ,
544
- } ) ;
545
+ testcase_ast = U . parse ( testcase , parse_options ) ;
545
546
if ( diff_error_message === testcase ) {
546
547
// only difference detected is in error message, so expose that and try again
547
548
testcase_ast . transform ( new U . TreeTransformer ( function ( node , descend ) {
@@ -563,9 +564,7 @@ module.exports = function reduce_test(testcase, minify_options, reduce_options)
563
564
testcase = code ;
564
565
differs = diff ;
565
566
} else {
566
- testcase_ast = U . parse ( testcase , {
567
- module : minify_options . module ,
568
- } ) ;
567
+ testcase_ast = U . parse ( testcase , parse_options ) ;
569
568
}
570
569
}
571
570
diff_error_message = null ;
@@ -778,7 +777,7 @@ function run_code(code, toplevel, result_cache, timeout) {
778
777
if ( ! value ) {
779
778
var start = Date . now ( ) ;
780
779
result_cache [ key ] = value = {
781
- result : sandbox . run_code ( sandbox . patch_module_statements ( code ) , toplevel , timeout ) ,
780
+ result : sandbox . run_code ( code , toplevel , timeout ) ,
782
781
elapsed : Date . now ( ) - start ,
783
782
} ;
784
783
}
@@ -806,13 +805,7 @@ function compare_run_code(code, minify_options, result_cache, max_timeout) {
806
805
} ;
807
806
808
807
function run ( code , timeout ) {
809
- if ( minify_options . module ) code = [
810
- '"use strict";' ,
811
- "(async()=>{" ,
812
- code ,
813
- '})().catch(e=>process.on("exit",()=>{throw e}));' ,
814
- ] . join ( "\n" ) ;
815
- return run_code ( code , toplevel , result_cache , timeout ) ;
808
+ return run_code ( sandbox . patch_module_statements ( code , minify_options . module ) , toplevel , result_cache , timeout ) ;
816
809
}
817
810
}
818
811
0 commit comments