/
1Rrd0
/
Course
Обзор
Документация
Войти
/
1Rrd0
/
Course
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/es-define-property/test/index.js
56 строк
1 KB
dima
2
13 дек 2025, 10:58
13 дек 2025, 10:58
ce5a48e
Код
Авторство
О чём код?
'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(); });