Allow lodash underscore plus=cloneDeep without also needing to include clone.

Former-commit-id: 90f89296ab47eff635c3c30ed34466e347ea13d3
This commit is contained in:
John-David Dalton
2013-03-10 22:32:57 -07:00
parent 6830195127
commit e72712640c
2 changed files with 26 additions and 13 deletions

View File

@@ -1708,7 +1708,7 @@
exposeZipObject = methods.indexOf('zipObject') > -1;
methods = _.without.apply(_, [plusMethods].concat(minusMethods));
useUnderscoreClone = methods.indexOf('clone') < 0;
useUnderscoreClone = methods.indexOf('clone') < 0 && methods.indexOf('cloneDeep') < 0;
}
// update dependencies
if (isLegacy) {

View File

@@ -994,21 +994,34 @@
});
});
asyncTest('`lodash underscore plus=clone`', function() {
var start = _.after(2, _.once(QUnit.start));
var commands = [
'plus=clone',
'plus=cloneDeep'
];
build(['-s', 'underscore', 'plus=clone'], function(data) {
var array = [{ 'value': 1 }],
basename = path.basename(data.outputPath, '.js'),
context = createContext();
commands.forEach(function(command, index) {
asyncTest('`lodash ' + command +'`', function() {
var start = _.after(2, _.once(QUnit.start));
vm.runInContext(data.source, context);
var lodash = context._,
clone = lodash.clone(array, true);
build(['-s', 'underscore', command], function(data) {
var array = [{ 'value': 1 }],
basename = path.basename(data.outputPath, '.js'),
context = createContext();
ok(_.isEqual(array, clone), basename);
notEqual(array[0], clone[0], basename);
start();
vm.runInContext(data.source, context, true);
var lodash = context._;
_.each(index ? ['clone','cloneDeep'] : ['clone'], function(methodName) {
var clone = (methodName == 'clone')
? lodash.clone(array, true)
: lodash.cloneDeep(array);
ok(_.isEqual(array, clone), basename);
notEqual(array[0], clone[0], basename);
});
start();
});
});
});
}());