@@ -166,17 +166,30 @@ test('packageReader reads resource file which is actually main', t => {
166166 } ) ;
167167} ) ;
168168
169- test ( 'packageReader rejects invalid package.json' , t => {
169+ test ( 'packageReader tolerate invalid package.json' , t => {
170170 getReader ( 'foo' , {
171171 'node_modules/foo/package.json' : '{"name":"foo", "main": "index"' ,
172172 'node_modules/foo/index.js' : "lorem"
173173 } ) . then ( r => {
174- r . readMain ( ) . then (
175- ( ) => {
176- t . fail ( 'should not pass' )
174+ r . readResource ( 'index' ) . then (
175+ unit => {
176+ t . equal ( r . version , 'N/A' ) ;
177+ t . deepEqual ( unit , {
178+ path : 'node_modules/foo/index.js' ,
179+ contents : 'lorem' ,
180+ moduleId : 'foo/index' ,
181+ packageName : 'foo' ,
182+ packageMainPath : 'index.js' ,
183+ alias : 'foo' ,
184+ sourceMap : undefined
185+ } ) ;
186+
187+ t . equal ( r . name , 'foo' ) ;
188+ t . equal ( r . mainPath , 'index.js' ) ;
189+ t . deepEqual ( r . browserReplacement , { } ) ;
177190 } ,
178191 err => {
179- t . pass ( err . message ) ;
192+ t . fail ( err . message ) ;
180193 }
181194 ) . then ( t . end ) ;
182195 } ) ;
@@ -239,7 +252,7 @@ test('packageReader reads module over main field', t => {
239252 } ) ;
240253} ) ;
241254
242- test ( 'packageReader reads browser over main/ module field' , t => {
255+ test ( 'packageReader reads browser over module/main field' , t => {
243256 getReader ( 'foo' , {
244257 'node_modules/foo/package.json' : '{"name":"foo", "browser": "br", "module": "es", "main": "index"}' ,
245258 'node_modules/foo/index.js' : "lorem" ,
@@ -269,6 +282,37 @@ test('packageReader reads browser over main/module field', t => {
269282 } ) ;
270283} ) ;
271284
285+ test ( 'packageReader reads dumberForcedMain over browser/module/main field' , t => {
286+ getReader ( 'foo' , {
287+ 'node_modules/foo/package.json' : '{"name":"foo", "browser": "br", "module": "es", "main": "index", "dumberForcedMain": "hc"}' ,
288+ 'node_modules/foo/index.js' : "lorem" ,
289+ 'node_modules/foo/es.js' : 'es' ,
290+ 'node_modules/foo/br.js' : 'br' ,
291+ 'node_modules/foo/hc.js' : 'hc' ,
292+ } ) . then ( r => {
293+ r . readMain ( ) . then (
294+ unit => {
295+ t . deepEqual ( unit , {
296+ path : 'node_modules/foo/hc.js' ,
297+ contents : 'hc' ,
298+ moduleId : 'foo/hc' ,
299+ packageName : 'foo' ,
300+ packageMainPath : 'hc.js' ,
301+ alias : 'foo' ,
302+ sourceMap : undefined
303+ } ) ;
304+
305+ t . equal ( r . name , 'foo' ) ;
306+ t . equal ( r . mainPath , 'hc.js' ) ;
307+ t . deepEqual ( r . browserReplacement , { } ) ;
308+ } ,
309+ err => {
310+ t . fail ( err . message ) ;
311+ }
312+ ) . then ( t . end ) ;
313+ } ) ;
314+ } ) ;
315+
272316test ( 'packageReader reads main file with explicit ext' , t => {
273317 getReader ( 'foo.js' , {
274318 'node_modules/foo.js/package.json' : '{"name":"foo.js", "main": "./main.js"}' ,
@@ -345,10 +389,7 @@ test('packageReader reads implicit main file', t => {
345389 t . equal ( r . mainPath , 'lib/index.js' ) ;
346390 t . deepEqual ( r . browserReplacement , { } ) ;
347391 } ,
348- err => {
349- console . log ( 'err' , err ) ;
350- t . fail ( err . message ) ;
351- }
392+ err => t . fail ( err . message )
352393 ) ;
353394 } ) . then ( t . end ) ;
354395} ) ;
0 commit comments