2016-05-16 13:33:49 +02:00
|
|
|
<!doctype html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<title>Backbone Test Suite</title>
|
|
|
|
<link rel="stylesheet" href="../node_modules/qunitjs/qunit/qunit.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<script>
|
|
|
|
// Avoid reporting tests to Sauce Labs when script errors occur.
|
|
|
|
if (location.port == '9001') {
|
|
|
|
window.onerror = function(message) {
|
|
|
|
if (window.QUnit) {
|
|
|
|
QUnit.config.done.length = 0;
|
|
|
|
}
|
|
|
|
global_test_results = { 'message': message };
|
|
|
|
};
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<script src="../node_modules/qunitjs/qunit/qunit.js"></script>
|
|
|
|
<script src="../node_modules/qunit-extras/qunit-extras.js"></script>
|
|
|
|
<script src="../vendor/json-js/json2.js"></script>
|
|
|
|
<script src="../node_modules/platform/platform.js"></script>
|
|
|
|
<script src="./asset/test-ui.js"></script>
|
|
|
|
<script src="../lodash.js"></script>
|
|
|
|
<script>
|
|
|
|
QUnit.config.asyncRetries = 10;
|
|
|
|
QUnit.config.hidepassed = true;
|
|
|
|
|
|
|
|
var mixinPrereqs = (function() {
|
|
|
|
var aliasToReal = {
|
|
|
|
'indexBy': 'keyBy',
|
|
|
|
'invoke': 'invokeMap'
|
|
|
|
};
|
|
|
|
|
|
|
|
var keyMap = {
|
|
|
|
'rest': 'tail'
|
|
|
|
};
|
|
|
|
|
|
|
|
var lodash = _.noConflict();
|
|
|
|
|
|
|
|
return function(_) {
|
2017-05-13 13:25:33 +02:00
|
|
|
lodash(_)
|
|
|
|
.defaultsDeep({ 'templateSettings': lodash.templateSettings })
|
|
|
|
.mixin(lodash.pick(lodash, lodash.difference([
|
|
|
|
'countBy',
|
|
|
|
'debounce',
|
|
|
|
'difference',
|
|
|
|
'find',
|
|
|
|
'findIndex',
|
|
|
|
'findLastIndex',
|
|
|
|
'groupBy',
|
|
|
|
'includes',
|
|
|
|
'invert',
|
|
|
|
'invokeMap',
|
|
|
|
'keyBy',
|
|
|
|
'omit',
|
|
|
|
'partition',
|
|
|
|
'reduceRight',
|
|
|
|
'reject',
|
|
|
|
'sample',
|
|
|
|
'without'
|
|
|
|
], lodash.functions(_))))
|
|
|
|
.value();
|
2016-05-16 13:33:49 +02:00
|
|
|
|
|
|
|
lodash.forOwn(keyMap, function(realName, otherName) {
|
|
|
|
_[otherName] = lodash[realName];
|
|
|
|
_.prototype[otherName] = lodash.prototype[realName];
|
|
|
|
});
|
|
|
|
lodash.forOwn(aliasToReal, function(realName, alias) {
|
|
|
|
_[alias] = _[realName];
|
|
|
|
_.prototype[alias] = _.prototype[realName];
|
|
|
|
});
|
2017-05-13 13:25:33 +02:00
|
|
|
return _;
|
2016-05-16 13:33:49 +02:00
|
|
|
};
|
|
|
|
}());
|
|
|
|
|
|
|
|
// Load prerequisite scripts.
|
|
|
|
document.write(ui.urlParams.loader == 'none'
|
|
|
|
? '<script src="' + ui.buildPath + '"><\/script>'
|
|
|
|
: '<script data-dojo-config="async:1" src="' + ui.loaderPath + '"><\/script>'
|
|
|
|
);
|
|
|
|
</script>
|
|
|
|
<script>
|
|
|
|
if (ui.urlParams.loader == 'none') {
|
|
|
|
mixinPrereqs(_);
|
|
|
|
document.write([
|
|
|
|
'<script src="../node_modules/jquery/dist/jquery.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/backbone.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/setup/dom-setup.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/setup/environment.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/noconflict.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/events.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/model.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/collection.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/router.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/view.js"><\/script>',
|
|
|
|
'<script src="../vendor/backbone/test/sync.js"><\/script>'
|
|
|
|
].join('\n'));
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<script>
|
|
|
|
(function() {
|
|
|
|
if (window.curl) {
|
|
|
|
curl.config({ 'apiName': 'require' });
|
|
|
|
}
|
|
|
|
if (!window.require) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
var reBasename = /[\w.-]+$/,
|
|
|
|
basePath = ('//' + location.host + location.pathname.replace(reBasename, '')).replace(/\btest\/$/, ''),
|
|
|
|
modulePath = ui.buildPath.replace(/\.js$/, ''),
|
|
|
|
locationPath = modulePath.replace(reBasename, '').replace(/^\/|\/$/g, ''),
|
|
|
|
moduleMain = modulePath.match(reBasename)[0],
|
|
|
|
uid = +new Date;
|
|
|
|
|
|
|
|
function getConfig() {
|
|
|
|
var result = {
|
|
|
|
'baseUrl': './',
|
|
|
|
'urlArgs': 't=' + uid++,
|
|
|
|
'waitSeconds': 0,
|
|
|
|
'paths': {
|
|
|
|
'backbone': '../vendor/backbone/backbone',
|
|
|
|
'jquery': '../node_modules/jquery/dist/jquery'
|
|
|
|
},
|
|
|
|
'packages': [{
|
|
|
|
'name': 'test',
|
|
|
|
'location': '../vendor/backbone/test',
|
|
|
|
'config': {
|
|
|
|
// Work around no global being exported.
|
|
|
|
'exports': 'QUnit',
|
|
|
|
'loader': 'curl/loader/legacy'
|
|
|
|
}
|
|
|
|
}]
|
|
|
|
};
|
|
|
|
|
|
|
|
if (ui.isModularize) {
|
|
|
|
result.packages.push({
|
|
|
|
'name': 'underscore',
|
|
|
|
'location': locationPath,
|
|
|
|
'main': moduleMain
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
result.paths.underscore = modulePath;
|
|
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
|
|
|
|
QUnit.config.autostart = false;
|
|
|
|
|
|
|
|
require(getConfig(), ['underscore'], function(lodash) {
|
2017-05-13 13:25:33 +02:00
|
|
|
_ = mixinPrereqs(lodash);
|
2016-05-16 13:33:49 +02:00
|
|
|
require(getConfig(), ['backbone'], function() {
|
|
|
|
require(getConfig(), [
|
|
|
|
'test/setup/dom-setup',
|
|
|
|
'test/setup/environment',
|
|
|
|
'test/noconflict',
|
|
|
|
'test/events',
|
|
|
|
'test/model',
|
|
|
|
'test/collection',
|
|
|
|
'test/router',
|
|
|
|
'test/view',
|
|
|
|
'test/sync'
|
2017-05-13 13:25:33 +02:00
|
|
|
], QUnit.start);
|
2016-05-16 13:33:49 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
}());
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|