25 lines
760 B
JavaScript
25 lines
760 B
JavaScript
describe('Object.setPrototypeOf(o, p)', function () {
|
|
|
|
it('changes prototype to regular objects', function () {
|
|
var obj = {a: 123};
|
|
expect(obj instanceof Object).to.equal(true);
|
|
// sham requires assignment to work cross browser
|
|
obj = Object.setPrototypeOf(obj, null);
|
|
expect(obj instanceof Object).to.equal(false);
|
|
expect(obj.a).to.equal(123);
|
|
});
|
|
|
|
it('changes prototype to null objects', function () {
|
|
var obj = Object.create(null);
|
|
obj.a = 456;
|
|
expect(obj instanceof Object).to.equal(false);
|
|
expect(obj.a).to.equal(456);
|
|
// sham requires assignment to work cross browser
|
|
obj = Object.setPrototypeOf(obj, {});
|
|
expect(obj instanceof Object).to.equal(true);
|
|
expect(obj.a).to.equal(456);
|
|
});
|
|
|
|
});
|
|
|