summaryrefslogtreecommitdiff
path: root/desktop/node_modules/has-property-descriptors/test/index.js
diff options
context:
space:
mode:
authorRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
committerRaindropsSys <raindrops@equestria.dev>2023-10-24 17:43:37 +0200
commitae187b6d75c8079da0be1dc288613bad8466fe61 (patch)
tree5ea0d34185a2270f29ffaa65e1f5258028d7d5d0 /desktop/node_modules/has-property-descriptors/test/index.js
downloadmist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.gz
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.tar.bz2
mist-ae187b6d75c8079da0be1dc288613bad8466fe61.zip
Initial commit
Diffstat (limited to 'desktop/node_modules/has-property-descriptors/test/index.js')
-rw-r--r--desktop/node_modules/has-property-descriptors/test/index.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/desktop/node_modules/has-property-descriptors/test/index.js b/desktop/node_modules/has-property-descriptors/test/index.js
new file mode 100644
index 0000000..7f02bd3
--- /dev/null
+++ b/desktop/node_modules/has-property-descriptors/test/index.js
@@ -0,0 +1,57 @@
+'use strict';
+
+var test = require('tape');
+
+var hasPropertyDescriptors = require('../');
+
+var sentinel = {};
+
+test('hasPropertyDescriptors', function (t) {
+ t.equal(typeof hasPropertyDescriptors, 'function', 'is a function');
+ t.equal(typeof hasPropertyDescriptors.hasArrayLengthDefineBug, 'function', '`hasArrayLengthDefineBug` property is a function');
+
+ var yes = hasPropertyDescriptors();
+ t.test('property descriptors', { skip: !yes }, function (st) {
+ var o = { a: sentinel };
+
+ st.deepEqual(
+ Object.getOwnPropertyDescriptor(o, 'a'),
+ {
+ configurable: true,
+ enumerable: true,
+ value: sentinel,
+ writable: true
+ },
+ 'has expected property descriptor'
+ );
+
+ Object.defineProperty(o, 'a', { enumerable: false, writable: false });
+
+ st.deepEqual(
+ Object.getOwnPropertyDescriptor(o, 'a'),
+ {
+ configurable: true,
+ enumerable: false,
+ value: sentinel,
+ writable: false
+ },
+ 'has expected property descriptor after [[Define]]'
+ );
+
+ st.end();
+ });
+
+ var arrayBug = hasPropertyDescriptors.hasArrayLengthDefineBug();
+ t.test('defining array lengths', { skip: !yes || arrayBug }, function (st) {
+ var arr = [1, , 3]; // eslint-disable-line no-sparse-arrays
+ st.equal(arr.length, 3, 'array starts with length 3');
+
+ Object.defineProperty(arr, 'length', { value: 5 });
+
+ st.equal(arr.length, 5, 'array ends with length 5');
+
+ st.end();
+ });
+
+ t.end();
+});