summaryrefslogtreecommitdiff
path: root/node_modules/has-property-descriptors/test
diff options
context:
space:
mode:
authorLinuxWizard42 <computerwizard@linuxmail.org>2022-10-12 22:54:37 +0300
committerLinuxWizard42 <computerwizard@linuxmail.org>2022-10-12 22:54:37 +0300
commit703e03aba33f234712206769f57717ba7d92d23d (patch)
tree0041f04ccb75bd5379c764e9fe42249fffe75fc3 /node_modules/has-property-descriptors/test
parentab6e257e6e9d9a483d7e86f220d8b209a2cd7753 (diff)
downloadFlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.gz
FlashRunner-703e03aba33f234712206769f57717ba7d92d23d.tar.zst
Added export_allowed file to make repository visible in cgit
Diffstat (limited to 'node_modules/has-property-descriptors/test')
-rw-r--r--node_modules/has-property-descriptors/test/index.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/node_modules/has-property-descriptors/test/index.js b/node_modules/has-property-descriptors/test/index.js
new file mode 100644
index 0000000..7f02bd3
--- /dev/null
+++ b/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();
+});