Skip to content
This repository was archived by the owner on Jul 13, 2020. It is now read-only.

Various #143

Merged
merged 1 commit into from
May 18, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions dist/es6-module-loader-sans-promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,6 @@ function logloads(loads) {
load.status = 'failed';
load.exception = exc;

loader.loaderObj.failed = loader.loaderObj.failed || [];
loader.loaderObj.failed.push(load);

var linkSets = load.linkSets.concat([]);
for (var i = 0, l = linkSets.length; i < l; i++)
linkSetFailed(linkSets[i], exc);
Expand Down Expand Up @@ -529,7 +526,8 @@ function logloads(loads) {
var startingLoad = linkSet.loads[0];

// non-executing link variation for loader tracing
// on the server
// on the server. Not in spec.
/***/
if (linkSet.loader.loaderObj.execute === false) {
var loads = [].concat(linkSet.loads);
for (var i = 0; i < loads.length; i++) {
Expand All @@ -546,6 +544,7 @@ function logloads(loads) {
}
return linkSet.resolve(startingLoad);
}
/***/

try {
link(linkSet);
Expand All @@ -561,9 +560,16 @@ function logloads(loads) {

// 15.2.5.2.4
function linkSetFailed(linkSet, exc) {
var loader = linkSet.loader;
var loads = linkSet.loads.concat([]);
for (var i = 0, l = loads.length; i < l; i++) {
var load = loads[i];

// store all failed load records
loader.loaderObj.failed = loader.loaderObj.failed || [];
if (loader.loaderObj.failed.indexOf(load) == -1)
loader.loaderObj.failed.push(load);

var linkIndex = indexOf.call(load.linkSets, linkSet);
console.assert(linkIndex != -1, 'link not present');
load.linkSets.splice(linkIndex, 1);
Expand Down
2 changes: 1 addition & 1 deletion dist/es6-module-loader-sans-promises.min.js

Large diffs are not rendered by default.

14 changes: 10 additions & 4 deletions dist/es6-module-loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -1090,9 +1090,6 @@ function logloads(loads) {
load.status = 'failed';
load.exception = exc;

loader.loaderObj.failed = loader.loaderObj.failed || [];
loader.loaderObj.failed.push(load);

var linkSets = load.linkSets.concat([]);
for (var i = 0, l = linkSets.length; i < l; i++)
linkSetFailed(linkSets[i], exc);
Expand Down Expand Up @@ -1213,7 +1210,8 @@ function logloads(loads) {
var startingLoad = linkSet.loads[0];

// non-executing link variation for loader tracing
// on the server
// on the server. Not in spec.
/***/
if (linkSet.loader.loaderObj.execute === false) {
var loads = [].concat(linkSet.loads);
for (var i = 0; i < loads.length; i++) {
Expand All @@ -1230,6 +1228,7 @@ function logloads(loads) {
}
return linkSet.resolve(startingLoad);
}
/***/

try {
link(linkSet);
Expand All @@ -1245,9 +1244,16 @@ function logloads(loads) {

// 15.2.5.2.4
function linkSetFailed(linkSet, exc) {
var loader = linkSet.loader;
var loads = linkSet.loads.concat([]);
for (var i = 0, l = loads.length; i < l; i++) {
var load = loads[i];

// store all failed load records
loader.loaderObj.failed = loader.loaderObj.failed || [];
if (loader.loaderObj.failed.indexOf(load) == -1)
loader.loaderObj.failed.push(load);

var linkIndex = indexOf.call(load.linkSets, linkSet);
console.assert(linkIndex != -1, 'link not present');
load.linkSets.splice(linkIndex, 1);
Expand Down
2 changes: 1 addition & 1 deletion dist/es6-module-loader.min.js

Large diffs are not rendered by default.

14 changes: 10 additions & 4 deletions lib/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -406,9 +406,6 @@ function logloads(loads) {
load.status = 'failed';
load.exception = exc;

loader.loaderObj.failed = loader.loaderObj.failed || [];
loader.loaderObj.failed.push(load);

var linkSets = load.linkSets.concat([]);
for (var i = 0, l = linkSets.length; i < l; i++)
linkSetFailed(linkSets[i], exc);
Expand Down Expand Up @@ -529,7 +526,8 @@ function logloads(loads) {
var startingLoad = linkSet.loads[0];

// non-executing link variation for loader tracing
// on the server
// on the server. Not in spec.
/***/
if (linkSet.loader.loaderObj.execute === false) {
var loads = [].concat(linkSet.loads);
for (var i = 0; i < loads.length; i++) {
Expand All @@ -546,6 +544,7 @@ function logloads(loads) {
}
return linkSet.resolve(startingLoad);
}
/***/

try {
link(linkSet);
Expand All @@ -561,9 +560,16 @@ function logloads(loads) {

// 15.2.5.2.4
function linkSetFailed(linkSet, exc) {
var loader = linkSet.loader;
var loads = linkSet.loads.concat([]);
for (var i = 0, l = loads.length; i < l; i++) {
var load = loads[i];

// store all failed load records
loader.loaderObj.failed = loader.loaderObj.failed || [];
if (loader.loaderObj.failed.indexOf(load) == -1)
loader.loaderObj.failed.push(load);

var linkIndex = indexOf.call(load.linkSets, linkSet);
console.assert(linkIndex != -1, 'link not present');
load.linkSets.splice(linkIndex, 1);
Expand Down
1 change: 1 addition & 0 deletions test/loads/deperror.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
throw 'dep error';
1 change: 1 addition & 0 deletions test/loads/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import "./deperror";
15 changes: 15 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,21 @@ function runTests() {
})
});

test('Dependency race error check (fix pending)', function(assert) {
var systemNormalize = System.normalize;
System.normalize = function(name) {
if (name == 'loadmain')
return 'loads/main';
return systemNormalize.apply(this, arguments);
}
System['import']('loadmain').then(function(m) {
assert('Module returned despite error');
}, function(e) {
assert(!!e, true);
});
System['import']('loads/deperror');
});

test('Export Syntax', function(assert) {
System['import']('syntax/export').then(function(m) {
assert(
Expand Down