SmartStorage/node_modules/has-proto/test/index.js

29 lines
644 B
JavaScript
Raw Normal View History

2023-12-24 13:23:39 +08:00
'use strict';
var test = require('tape');
2024-12-02 17:23:01 +08:00
var gPO = require('reflect.getprototypeof/polyfill')();
var gOPD = require('gopd');
2023-12-24 13:23:39 +08:00
var hasProto = require('../');
2024-12-02 17:23:01 +08:00
var getter = require('../helpers/getDunder');
2023-12-24 13:23:39 +08:00
test('hasProto', function (t) {
var result = hasProto();
t.equal(typeof result, 'boolean', 'returns a boolean (' + result + ')');
var obj = { __proto__: null };
if (result) {
t.notOk('toString' in obj, 'null object lacks toString');
2024-12-02 17:23:01 +08:00
if (gOPD && getter) {
t.equal(getter(obj), null);
}
2023-12-24 13:23:39 +08:00
} else {
t.ok('toString' in obj, 'without proto, null object has toString');
2024-12-02 17:23:01 +08:00
t.equal(gPO(obj), Object.prototype);
2023-12-24 13:23:39 +08:00
}
t.end();
});
2024-12-02 17:23:01 +08:00