@@ -207,6 +207,40 @@ describe('magicString', () => {
207207
208208 assert . equal ( source . toString ( ) , clone . toString ( ) )
209209 } )
210+
211+ it ( 'should clone the ignore-list hint' , ( ) => {
212+ const source = new MagicString ( 'abcdefghijkl' , {
213+ filename : 'foo.js' ,
214+ ignoreList : true ,
215+ } )
216+
217+ const clone = source . clone ( )
218+
219+ assert . equal ( clone . ignoreList , true )
220+ assert . deepEqual ( clone . generateMap ( { includeContent : false } ) . x_google_ignoreList , [ 0 ] )
221+ } )
222+
223+ it ( 'should clone stored names' , ( ) => {
224+ const source = new MagicString ( 'abcdefghijkl' , { filename : 'foo.js' } )
225+
226+ source . update ( 3 , 9 , 'XYZ' , { storeName : true } )
227+
228+ const clone = source . clone ( )
229+
230+ assert . notStrictEqual ( source . storedNames , clone . storedNames )
231+ assert . deepEqual ( clone . generateMap ( { includeContent : false } ) . names , [ 'defghi' ] )
232+ } )
233+
234+ it ( 'should not share stored names with the clone' , ( ) => {
235+ const source = new MagicString ( 'abcdefghijkl' , { filename : 'foo.js' } )
236+
237+ source . update ( 3 , 9 , 'XYZ' , { storeName : true } )
238+
239+ const clone = source . clone ( )
240+ clone . update ( 0 , 3 , 'ABC' , { storeName : true } )
241+
242+ assert . deepEqual ( source . generateMap ( { includeContent : false } ) . names , [ 'defghi' ] )
243+ } )
210244 } )
211245
212246 describe ( 'generateMap' , ( ) => {
0 commit comments