mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-23 18:00:26 +00:00
Angular should look for angular-ie-compat file at the right location
The location should be based on the base path of the angular script
and the version identifier of the angular script.
ex: angular.js -> angular-ie-compat.js
js/angular-0.9.0.min.js -> js/angular-ie-compat-0.9.0.js
This commit is contained in:
parent
2e687ee56f
commit
6f3a757a37
2 changed files with 28 additions and 3 deletions
|
|
@ -49,7 +49,7 @@ var _undefined = undefined,
|
|||
angularService = extensionMap(angular, 'service'),
|
||||
angularCallbacks = extensionMap(angular, 'callbacks'),
|
||||
nodeName,
|
||||
rngScript = /^(|.*\/)angular(-.*)?(\.min)?.js(\?[^#]*)?(#(.*))?$/;
|
||||
rngScript = /^(|.*\/)angular(-.*?)?(\.min)?.js(\?[^#]*)?(#(.*))?$/;
|
||||
|
||||
function foreach(obj, iterator, context) {
|
||||
var key;
|
||||
|
|
@ -426,14 +426,13 @@ function angularJsConfig(document, config) {
|
|||
var scripts = document.getElementsByTagName("script"),
|
||||
match;
|
||||
config = extend({
|
||||
base_url: '',
|
||||
ie_compat: 'angular-ie-compat.js',
|
||||
ie_compat_id: 'ng-ie-compat'
|
||||
}, config);
|
||||
for(var j = 0; j < scripts.length; j++) {
|
||||
match = (scripts[j].src || "").match(rngScript);
|
||||
if (match) {
|
||||
config.base_url = match[1];
|
||||
config.ie_compat = match[1] + 'angular-ie-compat' + (match[2] || '') + '.js';
|
||||
extend(config, parseKeyValue(match[6]));
|
||||
eachAttribute(jqLite(scripts[j]), function(value, name){
|
||||
if (/^ng:/.exec(name)) {
|
||||
|
|
|
|||
|
|
@ -223,4 +223,30 @@ describe('angularJsConfig', function() {
|
|||
ie_compat: 'myjs/angular-ie-compat.js',
|
||||
ie_compat_id: 'ngcompat'});
|
||||
});
|
||||
|
||||
|
||||
it("should default to versioned ie-compat file if angular file is versioned", function() {
|
||||
var doc = { getElementsByTagName: function(tagName) {
|
||||
expect(lowercase(tagName)).toEqual('script');
|
||||
return [{nodeName: 'SCRIPT',
|
||||
src: 'js/angular-0.9.0.js'}];
|
||||
}};
|
||||
|
||||
expect(angularJsConfig(doc)).toEqual({base_url: 'js/',
|
||||
ie_compat: 'js/angular-ie-compat-0.9.0.js',
|
||||
ie_compat_id: 'ng-ie-compat'});
|
||||
});
|
||||
|
||||
|
||||
it("should default to versioned ie-compat file if angular file is versioned and minified", function() {
|
||||
var doc = { getElementsByTagName: function(tagName) {
|
||||
expect(lowercase(tagName)).toEqual('script');
|
||||
return [{nodeName: 'SCRIPT',
|
||||
src: 'js/angular-0.9.0-cba23f00.min.js'}];
|
||||
}};
|
||||
|
||||
expect(angularJsConfig(doc)).toEqual({base_url: 'js/',
|
||||
ie_compat: 'js/angular-ie-compat-0.9.0-cba23f00.js',
|
||||
ie_compat_id: 'ng-ie-compat'});
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue