Merge pull request #12243 from edx/usman/tnl4416-spec-nesting

When using RequireJS load spec files one by one.
This commit is contained in:
Usman Khalid
2016-04-29 17:09:57 +05:00
13 changed files with 75 additions and 24 deletions

View File

@@ -178,7 +178,7 @@
testFiles[i] = '/base/' + testFiles[i];
}
require(testFiles, function () {
window.requireSerial(testFiles, function () {
// start test run, once Require.js is done
window.__karma__.start();
});

View File

@@ -0,0 +1,23 @@
/*
Helper function used to require files serially instead of concurrently.
*/
(function (window, require) {
'use strict';
var requireModules = function (paths, callback, modules) {
// If all the modules have been loaded, call the callback.
if (paths.length === 0) {
return callback.apply(null, modules);
}
// Otherwise load the next one.
require([paths.shift()], function(module) {
modules.push(module);
requireModules(paths, callback, modules);
});
};
window.requireSerial = function(paths, callback) {
requireModules(paths, callback, []);
};
}).call(this, window, require || RequireJS.require);

View File

@@ -46,7 +46,8 @@ var libraryFiles = [
{pattern: 'js/test/i18n.js', included: false},
{pattern: 'coffee/src/jquery.immediateDescendents.js', included: false},
{pattern: 'js/vendor/requirejs/text.js', included: false},
{pattern: 'js/vendor/sinon-1.17.0.js', included: false}
{pattern: 'js/vendor/sinon-1.17.0.js', included: false},
{pattern: 'common/js/utils/require-serial.js', included: true}
];
// Paths to source JavaScript files