@@ -27,17 +27,32 @@ describe('MagicString.Bundle', () => {
2727 assert . strictEqual ( b . sources [ 0 ] . indentExclusionRanges , array ) ;
2828 } ) ;
2929
30+ it ( 'should accept ignore-list hint' , ( ) => {
31+ const b = new MagicString . Bundle ( ) ;
32+ const foo = new MagicString ( 'foo' , { filename : 'foo.js' } ) ;
33+ const bar = new MagicString ( 'bar' , { filename : 'bar.js' } ) ;
34+
35+ b . addSource ( { content : foo , ignoreList : true } ) ;
36+ b . addSource ( { content : bar , ignoreList : false } ) ;
37+ assert . strictEqual ( b . sources [ 0 ] . content , foo ) ;
38+ assert . strictEqual ( b . sources [ 0 ] . ignoreList , true ) ;
39+ assert . strictEqual ( b . sources [ 1 ] . content , bar ) ;
40+ assert . strictEqual ( b . sources [ 1 ] . ignoreList , false ) ;
41+ } ) ;
42+
3043 it ( 'respects MagicString init options with { content: source }' , ( ) => {
3144 const b = new MagicString . Bundle ( ) ;
3245 const array = [ ] ;
3346 const source = new MagicString ( 'abcdefghijkl' , {
3447 filename : 'foo.js' ,
48+ ignoreList : false ,
3549 indentExclusionRanges : array
3650 } ) ;
3751
3852 b . addSource ( { content : source } ) ;
3953 assert . strictEqual ( b . sources [ 0 ] . content , source ) ;
4054 assert . strictEqual ( b . sources [ 0 ] . filename , 'foo.js' ) ;
55+ assert . strictEqual ( b . sources [ 0 ] . ignoreList , false ) ;
4156 assert . strictEqual ( b . sources [ 0 ] . indentExclusionRanges , array ) ;
4257 } ) ;
4358 } ) ;
@@ -345,6 +360,29 @@ describe('MagicString.Bundle', () => {
345360 assert . equal ( loc . source , 'three.js' ) ;
346361 } ) ;
347362
363+ it ( 'should generate x_google_ignoreList correctly' , ( ) => {
364+ const b = new MagicString . Bundle ( ) ;
365+
366+ const one = new MagicString ( 'function one () {}' , { filename : 'one.js' } ) ;
367+ const two = new MagicString ( 'function two () {}' , { filename : 'two.js' } ) ;
368+ const three = new MagicString ( 'function three () {}' , { filename : 'three.js' } ) ;
369+ const four = new MagicString ( 'function four () {}' , { filename : 'four.js' } ) ;
370+
371+ b . addSource ( { content : one , ignoreList : false } ) ;
372+ b . addSource ( { content : two , ignoreList : true } ) ;
373+ b . addSource ( { content : three , ignoreList : true } ) ;
374+ b . addSource ( { content : four } ) ;
375+
376+ const map = b . generateMap ( {
377+ file : 'output.js'
378+ } ) ;
379+
380+ assert . deepEqual ( map . x_google_ignoreList , [
381+ map . sources . indexOf ( 'two.js' ) ,
382+ map . sources . indexOf ( 'three.js' )
383+ ] ) ;
384+ } ) ;
385+
348386 it ( 'handles prepended content' , ( ) => {
349387 const b = new MagicString . Bundle ( ) ;
350388
0 commit comments