has.js
 1  'use strict';
 2  
 3  var inspect = require('../');
 4  var test = require('tape');
 5  var mockProperty = require('mock-property');
 6  
 7  test('when Object#hasOwnProperty is deleted', function (t) {
 8      t.plan(1);
 9      var arr = [1, , 3]; // eslint-disable-line no-sparse-arrays
10  
11      t.teardown(mockProperty(Array.prototype, 1, { value: 2 })); // this is needed to account for "in" vs "hasOwnProperty"
12      t.teardown(mockProperty(Object.prototype, 'hasOwnProperty', { 'delete': true }));
13  
14      t.equal(inspect(arr), '[ 1, , 3 ]');
15  });