Updating Backbone/Underscore unit tests to avoid failing tests due to different chaining implementations.

Former-commit-id: d797a3547368faae04806d61818327e7d2319309
This commit is contained in:
John-David Dalton
2012-12-09 00:23:02 -08:00
parent 1831efbe9d
commit 5eb3106706
2 changed files with 53 additions and 2 deletions

View File

@@ -12,7 +12,7 @@
</head>
<body>
<div id="qunit"></div>
<h1 id="qunit-header"><a href="#">Backbone Speed Suite</a></h1>
<h1 id="qunit-header"></h1>
<div id="qunit-fixture">
<div id='testElement'>
<h1>Test</h1>
@@ -32,6 +32,15 @@
<script>
document.write('<script src="../' + ui.buildPath + '"><\/script>');
</script>
<script>
if (!_.chain) {
_.mixin({
'chain': function(value) {
return new _(value);
}
});
}
</script>
<script src="../vendor/backbone/backbone.js"></script>
<script src="../vendor/backbone/test/environment.js"></script>
<script src="../vendor/backbone/test/noconflict.js"></script>

View File

@@ -5,7 +5,7 @@
<title>Underscore Test Suite</title>
<link rel="stylesheet" href="../vendor/qunit/qunit/qunit.css">
<style>
iframe, img {
iframe {
display: none;
}
</style>
@@ -32,6 +32,48 @@
<script>
document.write('<script src="../' + ui.buildPath + '"><\/script>');
</script>
<script>
if (!_.chain) {
_.mixin = function(object) {
_.forEach(_.functions(object), function(methodName) {
var func = _[methodName] = object[methodName];
_.prototype[methodName] = function() {
var args = [this.__wrapped__];
args.push.apply(args, arguments);
var result = func.apply(_, args);
if (this.__chain__) {
result = new _(result);
result.__chain__ = true;
}
return result;
};
});
};
_.mixin(_);
_.chain = function(value) {
value = new _(value);
value.__chain__ = true;
return value;
};
_.prototype.chain = function() {
this.__chain__ = true;
return this;
};
_.prototype.concat = _.wrap(_.prototype.concat, function(func) {
var result = func.apply(this, Array.prototype.slice.call(arguments, 1));
if (this.__chain__) {
result = new _(result);
result.__chain__ = true;
}
return result;
});
}
</script>
<script src="../vendor/underscore/test/collections.js"></script>
<script src="../vendor/underscore/test/arrays.js"></script>
<script src="../vendor/underscore/test/functions.js"></script>