Cleanup wrapper resets and add assert for returning function object values.

This commit is contained in:
John-David Dalton
2016-04-19 11:21:57 -07:00
parent 3930c388e4
commit b72fba911d

View File

@@ -15356,6 +15356,13 @@
QUnit.module('lodash.mixin'); QUnit.module('lodash.mixin');
(function() { (function() {
function reset(wrapper) {
delete wrapper.a;
delete wrapper.prototype.a;
delete wrapper.b;
delete wrapper.prototype.b;
}
function Wrapper(value) { function Wrapper(value) {
if (!(this instanceof Wrapper)) { if (!(this instanceof Wrapper)) {
return new Wrapper(value); return new Wrapper(value);
@@ -15386,15 +15393,10 @@
assert.strictEqual(_.a(array), 'a'); assert.strictEqual(_.a(array), 'a');
assert.strictEqual(_(array).a().value(), 'a'); assert.strictEqual(_(array).a().value(), 'a');
delete _.a;
delete _.prototype.a;
assert.notOk('b' in _); assert.notOk('b' in _);
assert.notOk('b' in _.prototype); assert.notOk('b' in _.prototype);
delete _.b; reset(_);
delete _.prototype.b;
} }
else { else {
skipAssert(assert, 4); skipAssert(assert, 4);
@@ -15411,8 +15413,7 @@
assert.strictEqual(_.a(array), 'b'); assert.strictEqual(_.a(array), 'b');
assert.strictEqual(_(array).a().value(), 'a'); assert.strictEqual(_(array).a().value(), 'a');
delete _.a; reset(_);
delete _.prototype.a;
} }
else { else {
skipAssert(assert, 2); skipAssert(assert, 2);
@@ -15426,14 +15427,10 @@
object.mixin(source); object.mixin(source);
assert.strictEqual(object.a(array), 'a'); assert.strictEqual(object.a(array), 'a');
assert.notOk('a' in _); assert.notOk('a' in _);
assert.notOk('a' in _.prototype); assert.notOk('a' in _.prototype);
delete Wrapper.a; reset(_);
delete Wrapper.prototype.a;
delete Wrapper.b;
delete Wrapper.prototype.b;
}); });
QUnit.test('should accept an `object` argument', function(assert) { QUnit.test('should accept an `object` argument', function(assert) {
@@ -15444,15 +15441,7 @@
assert.strictEqual(object.a(array), 'a'); assert.strictEqual(object.a(array), 'a');
}); });
QUnit.test('should return `object`', function(assert) { QUnit.test('should accept a function `object`', function(assert) {
assert.expect(2);
var object = {};
assert.strictEqual(_.mixin(object, source), object);
assert.strictEqual(_.mixin(), _);
});
QUnit.test('should work with a function for `object`', function(assert) {
assert.expect(2); assert.expect(2);
_.mixin(Wrapper, source); _.mixin(Wrapper, source);
@@ -15463,10 +15452,18 @@
assert.strictEqual(actual.value(), 'a'); assert.strictEqual(actual.value(), 'a');
assert.ok(actual instanceof Wrapper); assert.ok(actual instanceof Wrapper);
delete Wrapper.a; reset(Wrapper);
delete Wrapper.prototype.a; });
delete Wrapper.b;
delete Wrapper.prototype.b; QUnit.test('should return `object`', function(assert) {
assert.expect(3);
var object = {};
assert.strictEqual(_.mixin(object, source), object);
assert.strictEqual(_.mixin(Wrapper, source), Wrapper);
assert.strictEqual(_.mixin(), _);
reset(Wrapper);
}); });
QUnit.test('should not assign inherited `source` methods', function(assert) { QUnit.test('should not assign inherited `source` methods', function(assert) {
@@ -15504,10 +15501,7 @@
assert.strictEqual(actual, 'a', message(func, false)); assert.strictEqual(actual, 'a', message(func, false));
assert.notOk(actual instanceof func, message(func, false)); assert.notOk(actual instanceof func, message(func, false));
} }
delete func.a; reset(func);
delete func.prototype.a;
delete func.b;
delete func.prototype.b;
} }
else { else {
skipAssert(assert, 2); skipAssert(assert, 2);
@@ -15521,7 +15515,7 @@
_.mixin({ 'a': noop }, {}); _.mixin({ 'a': noop }, {});
assert.notOk('a' in _); assert.notOk('a' in _);
delete _.a; reset(_);
}); });
QUnit.test('should not error for non-object `options` values', function(assert) { QUnit.test('should not error for non-object `options` values', function(assert) {
@@ -15543,12 +15537,9 @@
} catch (e) { } catch (e) {
pass = false; pass = false;
} }
delete _.a;
delete _.prototype.a;
delete _.b;
delete _.prototype.b;
assert.ok(pass); assert.ok(pass);
reset(_);
}); });
QUnit.test('should not return the existing wrapped value when chaining', function(assert) { QUnit.test('should not return the existing wrapped value when chaining', function(assert) {
@@ -15567,10 +15558,7 @@
actual = wrapped.mixin(source); actual = wrapped.mixin(source);
assert.notStrictEqual(actual, wrapped); assert.notStrictEqual(actual, wrapped);
} }
delete func.a; reset(func);
delete func.prototype.a;
delete func.b;
delete func.prototype.b;
} }
else { else {
skipAssert(assert); skipAssert(assert);
@@ -15589,10 +15577,7 @@
assert.deepEqual(actual, _.take(_.b(_.map(_.a(array), square), isEven))); assert.deepEqual(actual, _.take(_.b(_.map(_.a(array), square), isEven)));
delete _.a; reset(_);
delete _.prototype.a;
delete _.b;
delete _.prototype.b;
} }
else { else {
skipAssert(assert); skipAssert(assert);