summaryrefslogtreecommitdiff
path: root/src/node_modules/object-inspect/test/has.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
committerMinteck <contact@minteck.org>2021-12-21 16:52:28 +0100
commit46e43f4bde4a35785b4997b81e86cd19f046b69b (patch)
treec53c2f826f777f9d6b2d249dab556feb72a6c3a6 /src/node_modules/object-inspect/test/has.js
downloadlangdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.gz
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.tar.bz2
langdetect-46e43f4bde4a35785b4997b81e86cd19f046b69b.zip
Commit
Diffstat (limited to 'src/node_modules/object-inspect/test/has.js')
-rw-r--r--src/node_modules/object-inspect/test/has.js34
1 files changed, 34 insertions, 0 deletions
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];
+});