mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
Add bizarro _.create test.
This commit is contained in:
@@ -85,9 +85,9 @@
|
||||
setProperty(Object, '_create', Object.create);
|
||||
setProperty(Object, 'create', (function() {
|
||||
function object() {}
|
||||
return function(prototype) {
|
||||
if (prototype === Object(prototype)) {
|
||||
object.prototype = prototype;
|
||||
return function(proto) {
|
||||
if (proto === Object(proto)) {
|
||||
object.prototype = proto;
|
||||
var result = new object;
|
||||
object.prototype = undefined;
|
||||
}
|
||||
|
||||
18
test/test.js
18
test/test.js
@@ -520,9 +520,9 @@
|
||||
// Set bad shims.
|
||||
setProperty(Object, 'create', (function() {
|
||||
function object() {}
|
||||
return function(prototype) {
|
||||
if (lodashStable.isObject(prototype)) {
|
||||
object.prototype = prototype;
|
||||
return function(proto) {
|
||||
if (lodashStable.isObject(proto)) {
|
||||
object.prototype = proto;
|
||||
var result = new object;
|
||||
object.prototype = undefined;
|
||||
}
|
||||
@@ -823,7 +823,7 @@
|
||||
});
|
||||
|
||||
QUnit.test('should avoid non-native built-ins', function(assert) {
|
||||
assert.expect(7);
|
||||
assert.expect(8);
|
||||
|
||||
function message(lodashMethod, nativeMethod) {
|
||||
return '`' + lodashMethod + '` should avoid overwritten native `' + nativeMethod + '`';
|
||||
@@ -855,6 +855,14 @@
|
||||
var label = message('_.isEmpty', 'Object#propertyIsEnumerable');
|
||||
assert.strictEqual(actual, true, label);
|
||||
|
||||
try {
|
||||
actual = lodashBizarro.create(Foo.prototype);
|
||||
} catch (e) {
|
||||
actual = null;
|
||||
}
|
||||
label = message('_.create', 'Object.create');
|
||||
assert.ok(actual instanceof Foo, label);
|
||||
|
||||
try {
|
||||
actual = [
|
||||
lodashBizarro.difference([object, otherObject], largeArray),
|
||||
@@ -920,7 +928,7 @@
|
||||
assert.deepEqual(actual, [], label);
|
||||
}
|
||||
else {
|
||||
skipAssert(assert, 7);
|
||||
skipAssert(assert, 8);
|
||||
}
|
||||
});
|
||||
}());
|
||||
|
||||
Reference in New Issue
Block a user