1+ var fs = require ( 'fs' ) ;
2+ var path = require ( 'path' ) ;
3+
4+ var mdeps = require ( '../' ) ;
5+ var test = require ( 'tap' ) . test ;
6+ var nodeResolve = require ( 'resolve' ) ;
7+ var browserResolve = require ( 'browser-resolve' ) ;
8+
9+ var missing = path . join ( __dirname , '/missing' ) ;
10+
11+ var files = {
12+ foo : path . join ( __dirname , '/files/resolve/foo/foo.js' ) ,
13+ bar : path . join ( __dirname , '/files/resolve/bar/bar.js' ) ,
14+ bar2 : path . join ( __dirname , '/files/resolve/bar/bar2.js' ) ,
15+ baz : path . join ( __dirname , '/files/resolve/foo/baz/baz.js' )
16+ } ;
17+
18+ var sources = Object . keys ( files )
19+ . reduce ( function ( acc , file ) {
20+ acc [ file ] = fs . readFileSync ( files [ file ] , 'utf8' ) ;
21+ return acc ;
22+ } , { } ) ;
23+
24+ var expectedRows = [
25+ {
26+ "deps" : { } ,
27+ "file" : files . baz ,
28+ "id" : files . baz ,
29+ "source" : sources . baz
30+ } ,
31+ {
32+ "deps" : { } ,
33+ "file" : files . bar2 ,
34+ "id" : files . bar2 ,
35+ "source" : sources . bar2
36+ } ,
37+ {
38+ "deps" : {
39+ "./bar2" : files . bar2
40+ } ,
41+ "file" : files . bar ,
42+ "id" : files . bar ,
43+ "source" : sources . bar
44+ } ,
45+ {
46+ "deps" : {
47+ "../bar/bar.js" : files . bar ,
48+ "./baz/baz.js" : files . baz
49+ } ,
50+ "entry" : true ,
51+ "file" : files . foo ,
52+ "id" : "foo" ,
53+ "source" : sources . foo
54+ }
55+ ] ;
56+
57+ test ( 'browser resolve - missing' , function ( t ) {
58+ t . plan ( 1 ) ;
59+ var d = mdeps ( { resolve : browserResolve } ) ;
60+
61+ d . end ( { id : 'missing' , file : missing , entry : true } ) ;
62+
63+ d . on ( 'error' , function ( err ) {
64+ t . match (
65+ String ( err ) ,
66+ / C a n n o t f i n d m o d u l e .* /
67+ ) ;
68+ } ) ;
69+ } ) ;
70+
71+ test ( 'node resolve - missing' , function ( t ) {
72+ t . plan ( 1 ) ;
73+ var d = mdeps ( { resolve : nodeResolve } ) ;
74+
75+ d . end ( { id : 'missing' , file : missing , entry : true } ) ;
76+
77+ d . on ( 'error' , function ( err ) {
78+ t . match (
79+ String ( err ) ,
80+ / C a n n o t f i n d m o d u l e .* /
81+ ) ;
82+ } ) ;
83+ } ) ;
84+
85+ test ( 'browser resolve' , function ( t ) {
86+ t . plan ( 1 ) ;
87+ var d = mdeps ( { resolve : browserResolve } ) ;
88+
89+ d . end ( { id : 'foo' , file : files . foo , entry : true } ) ;
90+
91+ var rows = [ ] ;
92+ d . on ( 'data' , function ( row ) { rows . push ( row ) } ) ;
93+ d . on ( 'end' , function ( ) {
94+ t . same ( rows , expectedRows ) ;
95+ } ) ;
96+
97+ d . on ( 'error' , function ( err ) {
98+ t . fail ( 'errored' ) ;
99+ } ) ;
100+ } ) ;
101+
102+ test ( 'node resolve' , function ( t ) {
103+ t . plan ( 1 ) ;
104+ var d = mdeps ( { resolve : nodeResolve } ) ;
105+
106+ d . end ( { id : 'foo' , file : files . foo , entry : true } ) ;
107+
108+ var rows = [ ] ;
109+ d . on ( 'data' , function ( row ) { rows . push ( row ) } ) ;
110+ d . on ( 'end' , function ( ) {
111+ t . same ( rows , expectedRows ) ;
112+ } ) ;
113+
114+ d . on ( 'error' , function ( err ) {
115+ t . fail ( 'errored' ) ;
116+ } ) ;
117+ } ) ;
0 commit comments