Disable the confirmation dialog when deleting files in the VS Code explorer to streamline the development workflow and reduce friction during file management operations.
57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
var $defineProperty = require('../');
|
|
|
|
var test = require('tape');
|
|
var gOPD = require('gopd');
|
|
|
|
test('defineProperty: supported', { skip: !$defineProperty }, function (t) {
|
|
t.plan(4);
|
|
|
|
t.equal(typeof $defineProperty, 'function', 'defineProperty is supported');
|
|
if ($defineProperty && gOPD) { // this `if` check is just to shut TS up
|
|
/** @type {{ a: number, b?: number, c?: number }} */
|
|
var o = { a: 1 };
|
|
|
|
$defineProperty(o, 'b', { enumerable: true, value: 2 });
|
|
t.deepEqual(
|
|
gOPD(o, 'b'),
|
|
{
|
|
configurable: false,
|
|
enumerable: true,
|
|
value: 2,
|
|
writable: false
|
|
},
|
|
'property descriptor is as expected'
|
|
);
|
|
|
|
$defineProperty(o, 'c', { enumerable: false, value: 3, writable: true });
|
|
t.deepEqual(
|
|
gOPD(o, 'c'),
|
|
{
|
|
configurable: false,
|
|
enumerable: false,
|
|
value: 3,
|
|
writable: true
|
|
},
|
|
'property descriptor is as expected'
|
|
);
|
|
}
|
|
|
|
t.equal($defineProperty, Object.defineProperty, 'defineProperty is Object.defineProperty');
|
|
|
|
t.end();
|
|
});
|
|
|
|
test('defineProperty: not supported', { skip: !!$defineProperty }, function (t) {
|
|
t.notOk($defineProperty, 'defineProperty is not supported');
|
|
|
|
t.match(
|
|
typeof $defineProperty,
|
|
/^(?:undefined|boolean)$/,
|
|
'`typeof defineProperty` is `undefined` or `boolean`'
|
|
);
|
|
|
|
t.end();
|
|
});
|