mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-05-14 01:33:11 +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'),
|
angularFormatter = extensionMap(angular, 'formatter'),
|
||||||
angularService = extensionMap(angular, 'service'),
|
angularService = extensionMap(angular, 'service'),
|
||||||
angularCallbacks = extensionMap(angular, 'callbacks'),
|
angularCallbacks = extensionMap(angular, 'callbacks'),
|
||||||
nodeName;
|
nodeName,
|
||||||
|
rngScript = /^(|.*\/)angular(-.*)?(\.min)?.js(\?[^#]*)?(#(.*))?$/;
|
||||||
|
|
||||||
function foreach(obj, iterator, context) {
|
function foreach(obj, iterator, context) {
|
||||||
var key;
|
var key;
|
||||||
|
|
@ -422,8 +423,7 @@ function angularInit(config){
|
||||||
}
|
}
|
||||||
|
|
||||||
function angularJsConfig(document, config) {
|
function angularJsConfig(document, config) {
|
||||||
var filename = /^(.*)angular(-([^\/]*))?.js(\?[^#]*)?(#(.*))?$/,
|
var scripts = document.getElementsByTagName("script"),
|
||||||
scripts = document.getElementsByTagName("script"),
|
|
||||||
match;
|
match;
|
||||||
config = extend({
|
config = extend({
|
||||||
base_url: '',
|
base_url: '',
|
||||||
|
|
@ -431,7 +431,7 @@ function angularJsConfig(document, config) {
|
||||||
ie_compat_id: 'ng-ie-compat'
|
ie_compat_id: 'ng-ie-compat'
|
||||||
}, config);
|
}, config);
|
||||||
for(var j = 0; j < scripts.length; j++) {
|
for(var j = 0; j < scripts.length; j++) {
|
||||||
match = (scripts[j].src || "").match(filename);
|
match = (scripts[j].src || "").match(rngScript);
|
||||||
if (match) {
|
if (match) {
|
||||||
config.base_url = match[1];
|
config.base_url = match[1];
|
||||||
extend(config, parseKeyValue(match[6]));
|
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');
|
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