@@ -21,12 +21,11 @@ var FOURTH = keys.FOURTH;
21
21
var FIFTH = keys . FIFTH ;
22
22
23
23
describe ( 'Stub Generator' , function ( ) {
24
- var src = { } ;
25
- var builder ;
26
- var loader ;
24
+ var src , loader ;
27
25
28
26
beforeEach ( function ( ) {
29
27
loader = new Loader ( ) ;
28
+ src = { } ;
30
29
31
30
quickTemp . makeOrRemake ( src , 'tmp' ) ;
32
31
src . inputTree = src . tmp + '/inputTree' ;
@@ -36,13 +35,7 @@ describe('Stub Generator', function() {
36
35
afterEach ( function ( ) {
37
36
loader . teardown ( ) ;
38
37
39
- if ( src . tmp ) {
40
- quickTemp . remove ( src , 'tmp' ) ;
41
- }
42
-
43
- if ( builder ) {
44
- return builder . cleanup ( ) ;
45
- }
38
+ quickTemp . remove ( src , 'tmp' ) ;
46
39
} ) ;
47
40
48
41
describe ( 'input' , function ( ) {
@@ -59,202 +52,184 @@ describe('Stub Generator', function() {
59
52
} ) ;
60
53
} ) ;
61
54
62
- it ( 'generates stub file' , function ( ) {
63
- var tree = new StubGenerator ( src . inputTree , {
64
- basedir : __dirname + '/fixtures/modules'
65
- } ) ;
55
+ describe ( 'building' , function ( ) {
56
+ var builder ;
57
+ beforeEach ( function ( ) {
58
+ var tree = new StubGenerator ( src . inputTree , {
59
+ basedir : __dirname + '/fixtures/modules'
60
+ } ) ;
66
61
67
- builder = new broccoli . Builder ( tree ) ;
68
-
69
- return builder . build ( ) . then ( function ( result ) {
70
- loader . load ( result . directory + '/browserify_stubs.js' ) ;
71
- loader . load ( result . directory + '/sample.js' ) ;
72
- loader . load ( result . directory + '/inner/other.js' ) ;
73
-
74
- expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
75
-
76
- var broc = loader . require ( 'npm:[email protected] ' ) ;
77
-
78
- expect ( broc ) . to . have . keys ( [ 'default' ] ) ;
79
- expect ( broc . default ) . to . have . keys ( [
80
- 'loadBrocfile' ,
81
- 'server' ,
82
- 'getMiddleware' ,
83
- 'Watcher' ,
84
- 'cli' ,
85
- 'makeTree' ,
86
- 'bowerTrees' ,
87
- 'MergedTree' ,
88
- 'Builder'
89
- ] ) ;
62
+ builder = new broccoli . Builder ( tree ) ;
90
63
} ) ;
91
- } ) ;
92
64
93
- it ( 'generates same stubFile if inputs do not change' , function ( ) {
94
- var tree = new StubGenerator ( src . inputTree , {
95
- basedir : __dirname + '/fixtures/modules'
65
+ afterEach ( function ( ) {
66
+ return builder . cleanup ( ) ;
96
67
} ) ;
97
68
98
- builder = new broccoli . Builder ( tree ) ;
99
-
100
- var firstRun ;
101
- return builder . build ( ) . then ( function ( result ) {
102
- firstRun = fs . statSync ( result . directory + '/browserify_stubs.js' ) ;
103
- return builder . build ( ) ;
104
- } ) . then ( function ( result ) {
105
- var nextRun = fs . statSync ( result . directory + '/browserify_stubs.js' ) ;
106
-
107
- expect ( firstRun , 'stat information should remain the same' ) . to . deep . equal ( nextRun ) ;
69
+ it ( 'generates stub file' , function ( ) {
70
+ return builder . build ( ) . then ( function ( result ) {
71
+ loader . load ( result . directory + '/browserify_stubs.js' ) ;
72
+ loader . load ( result . directory + '/sample.js' ) ;
73
+ loader . load ( result . directory + '/inner/other.js' ) ;
74
+
75
+ expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
76
+
77
+ var broc = loader . require ( 'npm:[email protected] ' ) ;
78
+
79
+ expect ( broc ) . to . have . keys ( [ 'default' ] ) ;
80
+ expect ( broc . default ) . to . have . keys ( [
81
+ 'loadBrocfile' ,
82
+ 'server' ,
83
+ 'getMiddleware' ,
84
+ 'Watcher' ,
85
+ 'cli' ,
86
+ 'makeTree' ,
87
+ 'bowerTrees' ,
88
+ 'MergedTree' ,
89
+ 'Builder'
90
+ ] ) ;
91
+ } ) ;
108
92
} ) ;
109
- } ) ;
110
93
111
- it ( 'adds deps from new file' , function ( ) {
112
- var tree = new StubGenerator ( src . inputTree , {
113
- basedir : __dirname + '/fixtures/modules'
114
- } ) ;
94
+ it ( 'generates same stubFile if inputs do not change' , function ( ) {
95
+ var firstRun ;
96
+ return builder . build ( ) . then ( function ( result ) {
97
+ firstRun = fs . statSync ( result . directory + '/browserify_stubs.js' ) ;
98
+ return builder . build ( ) ;
99
+ } ) . then ( function ( result ) {
100
+ var nextRun = fs . statSync ( result . directory + '/browserify_stubs.js' ) ;
115
101
116
- builder = new broccoli . Builder ( tree ) ;
117
- return builder . build ( ) . then ( function ( result ) {
118
- loader . load ( result . directory + '/browserify_stubs.js' ) ;
119
- loader . load ( result . directory + '/sample.js' ) ;
120
- loader . load ( result . directory + '/inner/other.js' ) ;
121
-
122
- expect ( walkSync ( result . directory ) ) . to . eql ( [
123
- 'browserify_stubs.js' ,
124
- 'inner/' ,
125
- 'inner/other.js' ,
126
- 'sample.js' ,
127
- ] ) ;
128
-
129
- expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
130
-
131
- var broc = loader . require ( 'npm:[email protected] ' ) ;
132
-
133
- expect ( broc ) . to . have . keys ( [ 'default' ] ) ;
134
- expect ( broc . default ) . to . have . keys ( [
135
- 'loadBrocfile' ,
136
- 'server' ,
137
- 'getMiddleware' ,
138
- 'Watcher' ,
139
- 'cli' ,
140
- 'makeTree' ,
141
- 'bowerTrees' ,
142
- 'MergedTree' ,
143
- 'Builder'
144
- ] ) ;
145
-
146
- fs . writeFileSync ( src . inputTree + '/new.js' , "define(\"fizz\", [\"exports\", \"npm:something-new\"], function(exports, SomethingNew) {});" ) ;
147
- return builder . build ( ) ;
148
- } ) . then ( function ( result ) {
149
- expect ( walkSync ( result . directory ) ) . to . eql ( [
150
- 'browserify_stubs.js' ,
151
- 'inner/' ,
152
- 'inner/other.js' ,
153
- 'new.js' ,
154
- 'sample.js' ,
155
- ] ) ;
156
-
157
- loader . reload ( result . directory + '/browserify_stubs.js' ) ;
158
-
159
- expect ( loader . entries ) . to . have . keys ( SECOND . keys ) ;
102
+ expect ( firstRun , 'stat information should remain the same' ) . to . deep . equal ( nextRun ) ;
103
+ } ) ;
160
104
} ) ;
161
- } ) ;
162
105
163
- it ( 'removes deps from deleted file' , function ( ) {
164
- var tree = new StubGenerator ( src . inputTree , {
165
- basedir : __dirname + '/fixtures/modules'
106
+ it ( 'adds deps from new file' , function ( ) {
107
+ return builder . build ( ) . then ( function ( result ) {
108
+ loader . load ( result . directory + '/browserify_stubs.js' ) ;
109
+ loader . load ( result . directory + '/sample.js' ) ;
110
+ loader . load ( result . directory + '/inner/other.js' ) ;
111
+
112
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
113
+ 'browserify_stubs.js' ,
114
+ 'inner/' ,
115
+ 'inner/other.js' ,
116
+ 'sample.js' ,
117
+ ] ) ;
118
+
119
+ expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
120
+
121
+ var broc = loader . require ( 'npm:[email protected] ' ) ;
122
+
123
+ expect ( broc ) . to . have . keys ( [ 'default' ] ) ;
124
+ expect ( broc . default ) . to . have . keys ( [
125
+ 'loadBrocfile' ,
126
+ 'server' ,
127
+ 'getMiddleware' ,
128
+ 'Watcher' ,
129
+ 'cli' ,
130
+ 'makeTree' ,
131
+ 'bowerTrees' ,
132
+ 'MergedTree' ,
133
+ 'Builder'
134
+ ] ) ;
135
+
136
+ fs . writeFileSync ( src . inputTree + '/new.js' , "define(\"fizz\", [\"exports\", \"npm:something-new\"], function(exports, SomethingNew) {});" ) ;
137
+ return builder . build ( ) ;
138
+ } ) . then ( function ( result ) {
139
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
140
+ 'browserify_stubs.js' ,
141
+ 'inner/' ,
142
+ 'inner/other.js' ,
143
+ 'new.js' ,
144
+ 'sample.js' ,
145
+ ] ) ;
146
+
147
+ loader . reload ( result . directory + '/browserify_stubs.js' ) ;
148
+
149
+ expect ( loader . entries ) . to . have . keys ( SECOND . keys ) ;
150
+ } ) ;
166
151
} ) ;
167
152
168
- builder = new broccoli . Builder ( tree ) ;
169
- return builder . build ( ) . then ( function ( result ) {
170
- loader . load ( result . directory + '/browserify_stubs.js' ) ;
171
- loader . load ( result . directory + '/sample.js' ) ;
172
- loader . load ( result . directory + '/inner/other.js' ) ;
173
-
174
- expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
175
- fs . unlinkSync ( src . inputTree + '/sample.js' ) ;
176
- return builder . build ( ) ;
177
- } ) . then ( function ( result ) {
153
+ it ( 'removes deps from deleted file' , function ( ) {
154
+ return builder . build ( ) . then ( function ( result ) {
155
+ loader . load ( result . directory + '/browserify_stubs.js' ) ;
156
+ loader . load ( result . directory + '/sample.js' ) ;
157
+ loader . load ( result . directory + '/inner/other.js' ) ;
178
158
179
- loader . reload ( result . directory + '/browserify_stubs.js' ) ;
159
+ expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
160
+ fs . unlinkSync ( src . inputTree + '/sample.js' ) ;
161
+ return builder . build ( ) ;
162
+ } ) . then ( function ( result ) {
163
+ loader . reload ( result . directory + '/browserify_stubs.js' ) ;
180
164
181
- expect ( loader . entries ) . to . have . keys ( THIRD . keys ) ;
165
+ expect ( loader . entries ) . to . have . keys ( THIRD . keys ) ;
166
+ } ) ;
182
167
} ) ;
183
- } ) ;
184
168
185
- it ( 'adds deps in modified file' , function ( ) {
186
- var tree = new StubGenerator ( src . inputTree , {
187
- basedir : __dirname + '/fixtures/modules'
169
+ it ( 'adds deps in modified file' , function ( ) {
170
+ return builder . build ( ) . then ( function ( result ) {
171
+ loader . load ( result . directory + '/browserify_stubs.js' ) ;
172
+ loader . load ( result . directory + '/sample.js' ) ;
173
+ loader . load ( result . directory + '/inner/other.js' ) ;
174
+
175
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
176
+ 'browserify_stubs.js' ,
177
+ 'inner/' ,
178
+ 'inner/other.js' ,
179
+ 'sample.js' ,
180
+ ] ) ;
181
+
182
+ expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
183
+
184
+ var was = "define('foo', ['exports', 'npm:broccoli', 'npm:additional-thing'], function(exports, Broccoli, Additional) { exports['default'] = Broccoli;});" ;
185
+
186
+ fs . writeFileSync ( src . inputTree + '/sample.js' , was ) ;
187
+ return builder . build ( ) ;
188
+ } ) . then ( function ( result ) {
189
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
190
+ 'browserify_stubs.js' ,
191
+ 'inner/' ,
192
+ 'inner/other.js' ,
193
+ 'sample.js' ,
194
+ ] ) ;
195
+
196
+ loader . reload ( result . directory + '/browserify_stubs.js' ) ;
197
+
198
+ expect ( loader . entries ) . to . have . keys ( FOURTH . keys ) ;
199
+ } ) ;
188
200
} ) ;
189
201
190
- builder = new broccoli . Builder ( tree ) ;
191
- return builder . build ( ) . then ( function ( result ) {
192
- loader . load ( result . directory + '/browserify_stubs.js' ) ;
193
- loader . load ( result . directory + '/sample.js' ) ;
194
- loader . load ( result . directory + '/inner/other.js' ) ;
195
-
196
- expect ( walkSync ( result . directory ) ) . to . eql ( [
197
- 'browserify_stubs.js' ,
198
- 'inner/' ,
199
- 'inner/other.js' ,
200
- 'sample.js' ,
201
- ] ) ;
202
-
203
- expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
204
-
205
- var was = "define('foo', ['exports', 'npm:broccoli', 'npm:additional-thing'], function(exports, Broccoli, Additional) { exports['default'] = Broccoli;});" ;
206
-
207
- fs . writeFileSync ( src . inputTree + '/sample.js' , was ) ;
208
- return builder . build ( ) ;
209
- } ) . then ( function ( result ) {
210
-
211
- expect ( walkSync ( result . directory ) ) . to . eql ( [
212
- 'browserify_stubs.js' ,
213
- 'inner/' ,
214
- 'inner/other.js' ,
215
- 'sample.js' ,
216
- ] ) ;
217
-
218
- loader . reload ( result . directory + '/browserify_stubs.js' ) ;
219
-
220
- expect ( loader . entries ) . to . have . keys ( FOURTH . keys ) ;
221
- } ) ;
222
- } ) ;
223
-
224
- it ( 'removes deps in modified file' , function ( ) {
225
- var tree = new StubGenerator ( src . inputTree , {
226
- basedir : __dirname + '/fixtures/modules'
227
- } ) ;
228
- builder = new broccoli . Builder ( tree ) ;
229
- return builder . build ( ) . then ( function ( result ) {
230
- loader . load ( result . directory + '/browserify_stubs.js' ) ;
231
- loader . load ( result . directory + '/sample.js' ) ;
232
- loader . load ( result . directory + '/inner/other.js' ) ;
233
-
234
- expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
235
-
236
- expect ( walkSync ( result . directory ) ) . to . eql ( [
237
- 'browserify_stubs.js' ,
238
- 'inner/' ,
239
- 'inner/other.js' ,
240
- 'sample.js' ,
241
- ] ) ;
242
-
243
- var was = "define('foo', ['exports', 'npm:y'], function(exports, _npmY) {});" ;
244
-
245
- fs . writeFileSync ( src . inputTree + '/inner/other.js' , was ) ;
246
- return builder . build ( ) ;
247
- } ) . then ( function ( result ) {
248
- loader . reload ( result . directory + '/browserify_stubs.js' ) ;
249
-
250
- expect ( walkSync ( result . directory ) ) . to . eql ( [
251
- 'browserify_stubs.js' ,
252
- 'inner/' ,
253
- 'inner/other.js' ,
254
- 'sample.js' ,
255
- ] ) ;
256
-
257
- expect ( loader . entries ) . to . have . keys ( FIFTH . keys ) ;
202
+ it ( 'removes deps in modified file' , function ( ) {
203
+ return builder . build ( ) . then ( function ( result ) {
204
+ loader . load ( result . directory + '/browserify_stubs.js' ) ;
205
+ loader . load ( result . directory + '/sample.js' ) ;
206
+ loader . load ( result . directory + '/inner/other.js' ) ;
207
+
208
+ expect ( loader . entries ) . to . have . keys ( FIRST . keys ) ;
209
+
210
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
211
+ 'browserify_stubs.js' ,
212
+ 'inner/' ,
213
+ 'inner/other.js' ,
214
+ 'sample.js' ,
215
+ ] ) ;
216
+
217
+ var was = "define('foo', ['exports', 'npm:y'], function(exports, _npmY) {});" ;
218
+
219
+ fs . writeFileSync ( src . inputTree + '/inner/other.js' , was ) ;
220
+ return builder . build ( ) ;
221
+ } ) . then ( function ( result ) {
222
+ loader . reload ( result . directory + '/browserify_stubs.js' ) ;
223
+
224
+ expect ( walkSync ( result . directory ) ) . to . eql ( [
225
+ 'browserify_stubs.js' ,
226
+ 'inner/' ,
227
+ 'inner/other.js' ,
228
+ 'sample.js' ,
229
+ ] ) ;
230
+
231
+ expect ( loader . entries ) . to . have . keys ( FIFTH . keys ) ;
232
+ } ) ;
258
233
} ) ;
259
234
} ) ;
260
235
} ) ;
0 commit comments