@@ -228,181 +228,97 @@ describe('angular', function() {
228
228
} ) ;
229
229
230
230
231
- describe ( 'rngScript' , function ( ) {
232
- it ( 'should match angular.js' , function ( ) {
233
- expect ( 'angular.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
234
- expect ( '../angular.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
235
- expect ( 'foo/angular.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
236
-
237
- expect ( 'foo.js' . match ( rngScript ) ) . toBeNull ( ) ;
238
- expect ( 'foo/foo.js' . match ( rngScript ) ) . toBeNull ( ) ;
239
- expect ( 'my-angular-app.js' . match ( rngScript ) ) . toBeNull ( ) ;
240
- expect ( 'foo/../my-angular-app.js' . match ( rngScript ) ) . toBeNull ( ) ;
241
- } ) ;
242
-
243
- it ( 'should match angular.min.js' , function ( ) {
244
- expect ( 'angular.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
245
- expect ( '../angular.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
246
- expect ( 'foo/angular.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
247
-
248
- expect ( 'my-angular-app.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
249
- expect ( 'foo/../my-angular-app.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
250
- } ) ;
251
-
252
- it ( 'should match angular-bootstrap.js' , function ( ) {
253
- expect ( 'angular-bootstrap.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
254
- expect ( '../angular-bootstrap.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
255
- expect ( 'foo/angular-bootstrap.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
256
-
257
- expect ( 'my-angular-app-bootstrap.js' . match ( rngScript ) ) . toBeNull ( ) ;
258
- expect ( 'foo/../my-angular-app-bootstrap.js' . match ( rngScript ) ) . toBeNull ( ) ;
259
- } ) ;
260
-
261
- it ( 'should match angular-0.9.0.js' , function ( ) {
262
- expect ( 'angular-0.9.0.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
263
- expect ( '../angular-0.9.0.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
264
- expect ( 'foo/angular-0.9.0.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
265
-
266
- expect ( 'my-angular-app-0.9.0.js' . match ( rngScript ) ) . toBeNull ( ) ;
267
- expect ( 'foo/../my-angular-app-0.9.0.js' . match ( rngScript ) ) . toBeNull ( ) ;
268
- } ) ;
269
-
270
- it ( 'should match angular-0.9.0.min.js' , function ( ) {
271
- expect ( 'angular-0.9.0.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
272
- expect ( '../angular-0.9.0.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
273
- expect ( 'foo/angular-0.9.0.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
274
-
275
- expect ( 'my-angular-app-0.9.0.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
276
- expect ( 'foo/../my-angular-app-0.9.0.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
277
- } ) ;
278
-
279
- it ( 'should match angular-0.9.0-de0a8612.js' , function ( ) {
280
- expect ( 'angular-0.9.0-de0a8612.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
281
- expect ( '../angular-0.9.0-de0a8612.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
282
- expect ( 'foo/angular-0.9.0-de0a8612.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
283
-
284
- expect ( 'my-angular-app-0.9.0-de0a8612.js' . match ( rngScript ) ) . toBeNull ( ) ;
285
- expect ( 'foo/../my-angular-app-0.9.0-de0a8612.js' . match ( rngScript ) ) . toBeNull ( ) ;
286
- } ) ;
287
-
288
- it ( 'should match angular-0.9.0-de0a8612.min.js' , function ( ) {
289
- expect ( 'angular-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
290
- expect ( '../angular-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
291
- expect ( 'foo/angular-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
292
-
293
- expect ( 'my-angular-app-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
294
- expect ( 'foo/../my-angular-app-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . toBeNull ( ) ;
295
- } ) ;
296
-
297
- it ( 'should match angular-scenario.js' , function ( ) {
298
- expect ( 'angular-scenario.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
299
- expect ( 'angular-scenario.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
300
- expect ( '../angular-scenario.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
301
- expect ( 'foo/angular-scenario.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
302
- } ) ;
303
-
304
- it ( 'should match angular-scenario-0.9.0(.min).js' , function ( ) {
305
- expect ( 'angular-scenario-0.9.0.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
306
- expect ( 'angular-scenario-0.9.0.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
307
- expect ( '../angular-scenario-0.9.0.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
308
- expect ( 'foo/angular-scenario-0.9.0.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
309
- } ) ;
310
-
311
- it ( 'should match angular-scenario-0.9.0-de0a8612(.min).js' , function ( ) {
312
- expect ( 'angular-scenario-0.9.0-de0a8612.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
313
- expect ( 'angular-scenario-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
314
- expect ( '../angular-scenario-0.9.0-de0a8612.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
315
- expect ( 'foo/angular-scenario-0.9.0-de0a8612.min.js' . match ( rngScript ) ) . not . toBeNull ( ) ;
316
- } ) ;
317
- } ) ;
231
+ describe ( 'angularJsConfig' , function ( ) {
232
+ it ( 'should always consider angular.js script tag to be the last script tag' , function ( ) {
233
+ var doc = {
234
+ getElementsByTagName : function ( tagName ) {
235
+ expect ( tagName ) . toEqual ( 'script' ) ;
236
+ return [ { nodeName : 'SCRIPT' , src : 'random.js' ,
237
+ attributes : [ { name : 'ng:autobind' , value : 'wrong' } ] } ,
238
+ { nodeName : 'SCRIPT' , src : 'angular.js' ,
239
+ attributes : [ { name : 'ng:autobind' , value : 'correct' } ] } ] ;
240
+ }
241
+ } ;
318
242
243
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : 'correct' } ) ;
319
244
320
- describe ( 'angularJsConfig' , function ( ) {
321
- it ( 'should find angular.js script tag and config' , function ( ) {
322
- var doc = { getElementsByTagName : function ( tagName ) {
323
- expect ( tagName ) . toEqual ( 'script' ) ;
324
- return [ { nodeName : 'SCRIPT ' , src : 'random.js' } ,
325
- { nodeName : 'SCRIPT' , src : 'angular .js' } ,
326
- { nodeName : 'SCRIPT ' , src : 'my-angular-app.js' } ] ;
327
- }
245
+ doc = {
246
+ getElementsByTagName : function ( tagName ) {
247
+ expect ( tagName ) . toEqual ( 'script' ) ;
248
+ return [ { nodeName : 'SCRIPT' , src : 'angular.js' ,
249
+ attributes : [ { name : 'ng:autobind ' , value : 'wrong' } ] } ,
250
+ { nodeName : 'SCRIPT' , src : 'concatinatedAndObfuscadedScriptWithOurScript .js' ,
251
+ attributes : [ { name : 'ng:autobind ' , value : 'correct' } ] } ] ;
252
+ }
328
253
} ;
329
254
330
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : '' } ) ;
255
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : 'correct ' } ) ;
331
256
} ) ;
332
257
333
258
334
- it ( 'should extract angular config from the ng: attributes' ,
335
- function ( ) {
259
+ it ( 'should extract angular config from the ng: attributes' , function ( ) {
336
260
var doc = { getElementsByTagName : function ( tagName ) {
337
261
expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
338
- return [ { nodeName : 'SCRIPT' ,
262
+ return [ {
263
+ nodeName : 'SCRIPT' ,
339
264
src : 'angularjs/angular.js' ,
340
265
attributes : [ { name : 'ng:autobind' , value :'elementIdToCompile' } ,
341
266
{ name : 'ng:css' , value : 'css/my_custom_angular.css' } ] } ] ;
342
267
} } ;
343
268
344
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : 'angularjs/' ,
269
+ expect ( angularJsConfig ( doc ) ) . toEqual ( {
345
270
autobind : 'elementIdToCompile' ,
346
- css : 'css/my_custom_angular.css' } ) ;
271
+ css : 'css/my_custom_angular.css'
272
+ } ) ;
347
273
} ) ;
348
274
349
275
350
276
it ( 'should extract angular config and default autobind value to true if present' , function ( ) {
351
277
var doc = { getElementsByTagName : function ( tagName ) {
352
278
expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
353
- return [ { nodeName : 'SCRIPT' ,
279
+ return [ {
280
+ nodeName : 'SCRIPT' ,
354
281
src : 'angularjs/angular.js' ,
355
282
attributes : [ { name : 'ng:autobind' , value :undefined } ] } ] ;
356
283
} } ;
357
284
358
- expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : true ,
359
- base_url : 'angularjs/' } ) ;
285
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : true } ) ;
360
286
} ) ;
361
287
362
288
363
289
it ( 'should extract angular autobind config from the script hashpath attributes' , function ( ) {
364
290
var doc = { getElementsByTagName : function ( tagName ) {
365
291
expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
366
- return [ { nodeName : 'SCRIPT' ,
292
+ return [ {
293
+ nodeName : 'SCRIPT' ,
367
294
src : 'angularjs/angular.js#autobind' } ] ;
368
295
} } ;
369
296
370
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : 'angularjs/' ,
371
- autobind : true } ) ;
297
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : true } ) ;
372
298
} ) ;
373
299
374
300
375
301
it ( 'should extract autobind config with element id from the script hashpath' , function ( ) {
376
302
var doc = { getElementsByTagName : function ( tagName ) {
377
303
expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
378
- return [ { nodeName : 'SCRIPT' ,
304
+ return [ {
305
+ nodeName : 'SCRIPT' ,
379
306
src : 'angularjs/angular.js#autobind=foo' } ] ;
380
307
} } ;
381
308
382
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : 'angularjs/' ,
383
- autobind : 'foo' } ) ;
309
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { autobind : 'foo' } ) ;
384
310
} ) ;
385
311
386
312
387
- it ( " should default to versioned ie-compat file if angular file is versioned" , function ( ) {
313
+ it ( ' should default to versioned ie-compat file if angular file is versioned' , function ( ) {
388
314
var doc = { getElementsByTagName : function ( tagName ) {
389
315
expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
390
- return [ { nodeName : 'SCRIPT' ,
316
+ return [ {
317
+ nodeName : 'SCRIPT' ,
391
318
src : 'js/angular-0.9.0.js' } ] ;
392
319
} } ;
393
320
394
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : 'js/' } ) ;
395
- } ) ;
396
-
397
-
398
- it ( "should default to versioned ie-compat file if angular file is versioned and minified" , function ( ) {
399
- var doc = { getElementsByTagName : function ( tagName ) {
400
- expect ( lowercase ( tagName ) ) . toEqual ( 'script' ) ;
401
- return [ { nodeName : 'SCRIPT' ,
402
- src : 'js/angular-0.9.0-cba23f00.min.js' } ] ;
403
- } } ;
404
-
405
- expect ( angularJsConfig ( doc ) ) . toEqual ( { base_url : 'js/' } ) ;
321
+ expect ( angularJsConfig ( doc ) ) . toEqual ( { } ) ;
406
322
} ) ;
407
323
} ) ;
408
324
0 commit comments