@@ -165,7 +165,7 @@ test('should transform urls', async () => {
165165 await compileAndCompare ( 'url-path' ) ;
166166} ) ;
167167
168- test ( 'should generate source maps' , async ( ) => {
168+ test ( 'should generate source maps with sourcesContent by default ' , async ( ) => {
169169 let inspect ;
170170 const rules = moduleRules . basic ( { sourceMap : true } , { } , ( i ) => {
171171 inspect = i ;
@@ -177,10 +177,30 @@ test('should generate source maps', async () => {
177177 ] ) ;
178178 const [ actualCss , actualMap ] = inspect . arguments ;
179179
180+ expect ( Array . isArray ( actualMap . sourcesContent ) ) . toBe ( true ) ;
181+ expect ( actualMap . sourcesContent . length ) . toBe ( 2 ) ;
182+
183+ // We can't actually compare the sourcesContent because it's slightly different because of our import rewriting
184+ delete actualMap . sourcesContent ;
185+ delete expectedMap . sourcesContent ;
186+
180187 expect ( actualCss ) . toEqual ( expectedCss ) ;
181188 expect ( actualMap ) . toEqual ( expectedMap ) ;
182189} ) ;
183190
191+ test ( 'should be possible to override sourceMap.outputSourceFiles' , async ( ) => {
192+ let inspect ;
193+ const rules = moduleRules . basic ( { sourceMap : { outputSourceFiles : false } } , { } , ( i ) => {
194+ inspect = i ;
195+ } ) ;
196+
197+ await compile ( 'source-map' , rules ) ;
198+
199+ const [ actualMap ] = inspect . arguments ;
200+
201+ expect ( actualMap ) . not . toHaveProperty ( 'sourcesContent' ) ;
202+ } ) ;
203+
184204test ( 'should install plugins' , async ( ) => {
185205 let pluginInstalled = false ;
186206 // Using prototype inheritance here since Less plugins are usually instances of classes
0 commit comments