租房小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
644 B

6 months ago
  1. 'use strict';
  2. var test = require('tape');
  3. var gPO = require('reflect.getprototypeof/polyfill')();
  4. var gOPD = require('gopd');
  5. var hasProto = require('../');
  6. var getter = require('../helpers/getDunder');
  7. test('hasProto', function (t) {
  8. var result = hasProto();
  9. t.equal(typeof result, 'boolean', 'returns a boolean (' + result + ')');
  10. var obj = { __proto__: null };
  11. if (result) {
  12. t.notOk('toString' in obj, 'null object lacks toString');
  13. if (gOPD && getter) {
  14. t.equal(getter(obj), null);
  15. }
  16. } else {
  17. t.ok('toString' in obj, 'without proto, null object has toString');
  18. t.equal(gPO(obj), Object.prototype);
  19. }
  20. t.end();
  21. });