@@ -118,7 +118,33 @@ describe("@babel/register", function () {
118118 } ) ;
119119 }
120120
121- buildTests ( require . resolve ( ".." ) ) ;
121+ const { setupRegister } = buildTests ( require . resolve ( ".." ) ) ;
122+
123+ it ( "does not mutate options" , ( ) => {
124+ const proxyHandler = {
125+ defineProperty : jest . fn ( Reflect . defineProperty ) ,
126+ deleteProperty : jest . fn ( Reflect . deleteProperty ) ,
127+ set : jest . fn ( Reflect . set ) ,
128+ } ;
129+
130+ setupRegister (
131+ new Proxy (
132+ {
133+ babelrc : true ,
134+ sourceMaps : false ,
135+ cwd : path . dirname ( testFileMjs ) ,
136+ extensions : [ ".js" ] ,
137+ } ,
138+ proxyHandler ,
139+ ) ,
140+ ) ;
141+
142+ currentHook ( testFileContent , testFile ) ;
143+
144+ expect ( proxyHandler . defineProperty ) . not . toHaveBeenCalled ( ) ;
145+ expect ( proxyHandler . deleteProperty ) . not . toHaveBeenCalled ( ) ;
146+ expect ( proxyHandler . set ) . not . toHaveBeenCalled ( ) ;
147+ } ) ;
122148 } ) ;
123149 }
124150
@@ -344,6 +370,32 @@ describe("@babel/register", function () {
344370 expect ( convertSourceMap ) . toMatch ( "/* transformed */" ) ;
345371 } ) ;
346372
373+ test ( "does not mutate options" , ( ) => {
374+ const proxyHandler = {
375+ defineProperty : jest . fn ( Reflect . defineProperty ) ,
376+ deleteProperty : jest . fn ( Reflect . deleteProperty ) ,
377+ set : jest . fn ( Reflect . set ) ,
378+ } ;
379+
380+ setupRegister (
381+ new Proxy (
382+ {
383+ babelrc : true ,
384+ sourceMaps : false ,
385+ cwd : path . dirname ( testFileMjs ) ,
386+ extensions : [ ".js" ] ,
387+ } ,
388+ proxyHandler ,
389+ ) ,
390+ ) ;
391+
392+ currentHook ( testFileContent , testFile ) ;
393+
394+ expect ( proxyHandler . defineProperty ) . not . toHaveBeenCalled ( ) ;
395+ expect ( proxyHandler . deleteProperty ) . not . toHaveBeenCalled ( ) ;
396+ expect ( proxyHandler . set ) . not . toHaveBeenCalled ( ) ;
397+ } ) ;
398+
347399 return { setupRegister, revertRegister } ;
348400 }
349401} ) ;
0 commit comments