mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
extract and test regexp that identifies angular script tag
This commit is contained in:
parent
2115db6903
commit
644c8514c5
2 changed files with 72 additions and 4 deletions
|
|
@ -48,7 +48,8 @@ var _undefined = undefined,
|
|||
angularFormatter = extensionMap(angular, 'formatter'),
|
||||
angularService = extensionMap(angular, 'service'),
|
||||
angularCallbacks = extensionMap(angular, 'callbacks'),
|
||||
nodeName;
|
||||
nodeName,
|
||||
rngScript = /^(|.*\/)angular(-.*)?(\.min)?.js(\?[^#]*)?(#(.*))?$/;
|
||||
|
||||
function foreach(obj, iterator, context) {
|
||||
var key;
|
||||
|
|
@ -422,8 +423,7 @@ function angularInit(config){
|
|||
}
|
||||
|
||||
function angularJsConfig(document, config) {
|
||||
var filename = /^(.*)angular(-([^\/]*))?.js(\?[^#]*)?(#(.*))?$/,
|
||||
scripts = document.getElementsByTagName("script"),
|
||||
var scripts = document.getElementsByTagName("script"),
|
||||
match;
|
||||
config = extend({
|
||||
base_url: '',
|
||||
|
|
@ -431,7 +431,7 @@ function angularJsConfig(document, config) {
|
|||
ie_compat_id: 'ng-ie-compat'
|
||||
}, config);
|
||||
for(var j = 0; j < scripts.length; j++) {
|
||||
match = (scripts[j].src || "").match(filename);
|
||||
match = (scripts[j].src || "").match(rngScript);
|
||||
if (match) {
|
||||
config.base_url = match[1];
|
||||
extend(config, parseKeyValue(match[6]));
|
||||
|
|
|
|||
|
|
@ -120,3 +120,71 @@ describe('toKeyValue', function() {
|
|||
expect(toKeyValue({flag1: true, key: 'value', flag2: true})).toEqual('flag1&key=value&flag2');
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe ('rngScript', function() {
|
||||
it('should match angular.js', function() {
|
||||
expect('angular.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('foo.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/foo.js'.match(rngScript)).toBeNull();
|
||||
expect('my-angular-app.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular.min.js', function() {
|
||||
expect('angular.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular.min.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app.min.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app.min.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular-bootstrap.js', function() {
|
||||
expect('angular-bootstrap.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular-bootstrap.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular-bootstrap.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app-bootstrap.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app-bootstrap.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular-0.9.0.js', function() {
|
||||
expect('angular-0.9.0.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular-0.9.0.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular-0.9.0.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app-0.9.0.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app-0.9.0.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular-0.9.0.min.js', function() {
|
||||
expect('angular-0.9.0.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular-0.9.0.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular-0.9.0.min.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app-0.9.0.min.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app-0.9.0.min.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular-0.9.0-de0a8612.js', function() {
|
||||
expect('angular-0.9.0-de0a8612.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular-0.9.0-de0a8612.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular-0.9.0-de0a8612.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app-0.9.0-de0a8612.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app-0.9.0-de0a8612.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
|
||||
it('should match angular-0.9.0-de0a8612.min.js', function() {
|
||||
expect('angular-0.9.0-de0a8612.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('../angular-0.9.0-de0a8612.min.js'.match(rngScript)).not.toBeNull();
|
||||
expect('foo/angular-0.9.0-de0a8612.min.js'.match(rngScript)).not.toBeNull();
|
||||
|
||||
expect('my-angular-app-0.9.0-de0a8612.min.js'.match(rngScript)).toBeNull();
|
||||
expect('foo/../my-angular-app-0.9.0-de0a8612.min.js'.match(rngScript)).toBeNull();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue