mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-05 09:27:49 +00:00
Add test for incorrectly shimmed Object.create.
This commit is contained in:
29
test/test.js
29
test/test.js
@@ -261,7 +261,7 @@
|
||||
}
|
||||
});
|
||||
|
||||
test('avoids overwritten native methods', 3, function() {
|
||||
test('avoids overwritten native methods', 4, function() {
|
||||
function message(methodName) {
|
||||
return '`_.' + methodName + '` should avoid overwritten native methods';
|
||||
}
|
||||
@@ -271,21 +271,40 @@
|
||||
if (document) {
|
||||
try {
|
||||
var actual = lodashBadShim.bind(function() { return this.a; }, object)();
|
||||
} catch(e) { }
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
ok(actual, message('bind'));
|
||||
|
||||
try {
|
||||
actual = lodashBadShim.isArray([]);
|
||||
} catch(e) { }
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
ok(actual, message('isArray'));
|
||||
|
||||
try {
|
||||
actual = lodashBadShim.keys(object);
|
||||
} catch(e) { }
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
deepEqual(actual, ['a'], message('keys'));
|
||||
|
||||
try {
|
||||
var Foo = function() {
|
||||
this.a = 2;
|
||||
};
|
||||
|
||||
var actual = _.transform(new Foo, function(result, value, key) {
|
||||
result[key] = value * value;
|
||||
});
|
||||
} catch(e) {
|
||||
actual = null;
|
||||
}
|
||||
ok(actual instanceof Foo, message('transform'));
|
||||
}
|
||||
else {
|
||||
skipTest(3);
|
||||
skipTest(4);
|
||||
}
|
||||
});
|
||||
}());
|
||||
|
||||
Reference in New Issue
Block a user