From 46e43f4bde4a35785b4997b81e86cd19f046b69b Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 21 Dec 2021 16:52:28 +0100 Subject: Commit --- src/node_modules/object-inspect/test/has.js | 34 +++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/node_modules/object-inspect/test/has.js (limited to 'src/node_modules/object-inspect/test/has.js') diff --git a/src/node_modules/object-inspect/test/has.js b/src/node_modules/object-inspect/test/has.js new file mode 100644 index 0000000..026d6d5 --- /dev/null +++ b/src/node_modules/object-inspect/test/has.js @@ -0,0 +1,34 @@ +var inspect = require('../'); +var test = require('tape'); + +function withoutProperty(object, property, fn) { + var original; + if (Object.getOwnPropertyDescriptor) { + original = Object.getOwnPropertyDescriptor(object, property); + } else { + original = object[property]; + } + delete object[property]; + try { + fn(); + } finally { + if (Object.getOwnPropertyDescriptor) { + Object.defineProperty(object, property, original); + } else { + object[property] = original; + } + } +} + +test('when Object#hasOwnProperty is deleted', function (t) { + t.plan(1); + var arr = [1, , 3]; // eslint-disable-line no-sparse-arrays + + // eslint-disable-next-line no-extend-native + Array.prototype[1] = 2; // this is needed to account for "in" vs "hasOwnProperty" + + withoutProperty(Object.prototype, 'hasOwnProperty', function () { + t.equal(inspect(arr), '[ 1, , 3 ]'); + }); + delete Array.prototype[1]; +}); -- cgit