@@ -2,6 +2,7 @@ const path = require('path');
22const compile = require ( './helpers/compile' ) ;
33const moduleRules = require ( './helpers/moduleRules' ) ;
44const { readCssFixture, readSourceMap } = require ( './helpers/readFixture' ) ;
5+ const compareErrorMessage = require ( './helpers/compareErrorMessage' ) ;
56
67const nodeModulesPath = path . resolve ( __dirname , 'fixtures' , 'node_modules' ) ;
78
@@ -16,7 +17,7 @@ async function compileAndCompare(fixture, { lessLoaderOptions, lessLoaderContext
1617 ] ) ;
1718 const [ actualCss ] = inspect . arguments ;
1819
19- return expect ( actualCss ) . toBe ( expectedCss ) ;
20+ expect ( actualCss ) . toBe ( expectedCss ) ;
2021}
2122
2223test ( 'should compile simple less without errors' , async ( ) => {
@@ -116,18 +117,26 @@ test('should not alter the original options object', async () => {
116117 expect ( copiedOptions ) . toEqual ( options ) ;
117118} ) ;
118119
119- test ( 'should report error correctly ' , async ( ) => {
120- const err = await compile ( 'error-import-not-existing' )
120+ test ( 'should fail if a file is tried to be loaded from include paths and with webpack\'s resolver simultaneously ' , async ( ) => {
121+ const err = await compile ( 'error-mixed-resolvers' , moduleRules . basic ( { paths : [ nodeModulesPath ] } ) )
121122 . catch ( e => e ) ;
122123
123124 expect ( err ) . toBeInstanceOf ( Error ) ;
124- expect ( err . message ) . toMatch ( / n o t - e x i s t i n g / ) ;
125+ compareErrorMessage ( err . message ) ;
125126} ) ;
126127
127- test ( 'should fail if a file is tried to be loaded from include paths and with webpack\'s resolver simultaneously' , async ( ) => {
128- const err = await compile ( 'error-mixed-resolvers' , moduleRules . basic ( { paths : [ nodeModulesPath ] } ) )
128+ test ( 'should provide a useful error message if the import could not be found' , async ( ) => {
129+ const err = await compile ( 'error-import-not-existing' , moduleRules . basic ( ) )
130+ . catch ( e => e ) ;
131+
132+ expect ( err ) . toBeInstanceOf ( Error ) ;
133+ compareErrorMessage ( err . message ) ;
134+ } ) ;
135+
136+ test ( 'should provide a useful error message if there was a syntax error' , async ( ) => {
137+ const err = await compile ( 'error-syntax' , moduleRules . basic ( ) )
129138 . catch ( e => e ) ;
130139
131140 expect ( err ) . toBeInstanceOf ( Error ) ;
132- expect ( err . message ) . toMatch ( / ' ~ s o m e \/ m o d u l e \. l e s s ' w a s n ' t f o u n d / ) ;
141+ compareErrorMessage ( err . message ) ;
133142} ) ;
0 commit comments