Skip to content

Commit

Permalink
Merge branch '2532773'
Browse files Browse the repository at this point in the history
  • Loading branch information
davglass committed Sep 24, 2012
2 parents e364b74 + c83081e commit 0324f16
Show file tree
Hide file tree
Showing 15 changed files with 406 additions and 216 deletions.
428 changes: 226 additions & 202 deletions build/loader-base/loader-base-coverage.js

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion build/loader-base/loader-base-debug.js
Expand Up @@ -2344,7 +2344,8 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -2387,6 +2388,19 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +
if (mods.length) {
Y.log('Refetching modules with new meta-data', 'info', 'loader');
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
2 changes: 1 addition & 1 deletion build/loader-base/loader-base-min.js

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion build/loader-base/loader-base.js
Expand Up @@ -2318,7 +2318,8 @@ Y.Loader.prototype = {

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -2358,6 +2359,19 @@ Y.Loader.prototype = {
mods = Y.Object.keys(mods);
if (mods.length) {
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
16 changes: 15 additions & 1 deletion build/loader/loader-debug.js
Expand Up @@ -2344,7 +2344,8 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -2387,6 +2388,19 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +
if (mods.length) {
Y.log('Refetching modules with new meta-data', 'info', 'loader');
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
2 changes: 1 addition & 1 deletion build/loader/loader-min.js

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion build/loader/loader.js
Expand Up @@ -2318,7 +2318,8 @@ Y.Loader.prototype = {

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -2358,6 +2359,19 @@ Y.Loader.prototype = {
mods = Y.Object.keys(mods);
if (mods.length) {
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
16 changes: 15 additions & 1 deletion build/yui-nodejs/yui-nodejs-debug.js
Expand Up @@ -7077,7 +7077,8 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -7120,6 +7121,19 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +
if (mods.length) {
Y.log('Refetching modules with new meta-data', 'info', 'loader');
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
2 changes: 1 addition & 1 deletion build/yui-nodejs/yui-nodejs-min.js

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion build/yui-nodejs/yui-nodejs.js
Expand Up @@ -7021,7 +7021,8 @@ Y.Loader.prototype = {

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -7061,6 +7062,19 @@ Y.Loader.prototype = {
mods = Y.Object.keys(mods);
if (mods.length) {
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
16 changes: 15 additions & 1 deletion build/yui/yui-debug.js
Expand Up @@ -8061,7 +8061,8 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -8104,6 +8105,19 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +
if (mods.length) {
Y.log('Refetching modules with new meta-data', 'info', 'loader');
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
2 changes: 1 addition & 1 deletion build/yui/yui-min.js

Large diffs are not rendered by default.

16 changes: 15 additions & 1 deletion build/yui/yui.js
Expand Up @@ -7998,7 +7998,8 @@ Y.Loader.prototype = {

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -8038,6 +8039,19 @@ Y.Loader.prototype = {
mods = Y.Object.keys(mods);
if (mods.length) {
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
16 changes: 15 additions & 1 deletion src/loader/js/loader.js
Expand Up @@ -2244,7 +2244,8 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +

var complete = function(d) {
actions++;
var errs = {}, i = 0, o = 0, u = '', fn;
var errs = {}, i = 0, o = 0, u = '', fn,
modName, resMods;

if (d && d.errors) {
for (i = 0; i < d.errors.length; i++) {
Expand Down Expand Up @@ -2287,6 +2288,19 @@ Y.log('Undefined module: ' + mname + ', matched a pattern: ' +
if (mods.length) {
Y.log('Refetching modules with new meta-data', 'info', 'loader');
self.require(mods);
resMods = self.resolve(true);
if (resMods.cssMods.length) {
for (i=0; i < resMods.cssMods.length; i++) {
modName = resMods.cssMods[i].name;
delete YUI.Env._cssLoaded[modName];
if (self.isCSSLoaded(modName)) {
self.inserted[modName] = true;
delete self.required[modName];
}
}
self.sorted = [];
self._sort();
}
d = null; //bail
self._insert(); //insert the new deps
}
Expand Down
42 changes: 41 additions & 1 deletion src/loader/tests/unit/assets/loader-tests.js
Expand Up @@ -35,7 +35,8 @@ YUI.add('loader-tests', function(Y) {
test_condpattern: Y.UA.nodejs,
test_cond_with_test_function: Y.UA.nodejs,
'test external lang 1': Y.UA.nodejs,
'testing fetchCSS false': !Y.config.win
'testing fetchCSS false': !Y.config.win,
'testing duplicate CSS loading': !Y.config.win
}
},
'test: skin overrides double loading': function() {
Expand Down Expand Up @@ -725,6 +726,45 @@ YUI.add('loader-tests', function(Y) {
test.wait();

},
'testing duplicate CSS loading': function() {
var test = this,
links = document.getElementsByTagName('link'),
sheets = document.getElementsByTagName('style'),
holder = {
'console': 0,
'console-filters': 0,
'test-console': 0
};

Y.Array.each(links, function(item) {
var href = item.href;
if (/\/sam\/console\.css/.test(href)) {
holder['console']++;
}
if (/console-filters\.css/.test(href)) {
holder['console-filters']++;
}
if (/test-console\.css/.test(href)) {
holder['test-console']++;
}
});
//Older Gecko's
Y.Array.each(sheets, function(item) {
var html = item.innerHTML;
if (/\/sam\/console\.css/.test(html)) {
holder['console']++;
}
if (/console-filters\.css/.test(html)) {
holder['console-filters']++;
}
if (/test-console\.css/.test(html)) {
holder['test-console']++;
}
});
Y.Object.each(holder, function(count, name) {
Y.Assert.areEqual(1, count, 'Too many of ' + name + '.css');
});
},
'testing fetchCSS false': function() {
var test = this,
links = document.getElementsByTagName('link').length + document.getElementsByTagName('style').length;
Expand Down

0 comments on commit 0324f16

Please sign in to comment.