Show More
Commit Description:
utf8mb4
Commit Description:
utf8mb4
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/test/helpers/assertRecord.js
| 60 lines
| 1.6 KiB
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var forEach = require('foreach'); | ||||
var debug = require('object-inspect'); | ||||
var assertRecord = require('../../helpers/assertRecord'); | ||||
var v = require('./values'); | ||||
module.exports = function assertRecordTests(ES, test) { | ||||
test('Property Descriptor', function (t) { | ||||
var record = 'Property Descriptor'; | ||||
forEach(v.nonUndefinedPrimitives, function (primitive) { | ||||
t['throws']( | ||||
function () { assertRecord(ES.Type, record, 'arg', primitive); }, | ||||
TypeError, | ||||
debug(primitive) + ' is not a Property Descriptor' | ||||
); | ||||
}); | ||||
t['throws']( | ||||
function () { assertRecord(ES.Type, record, 'arg', { invalid: true }); }, | ||||
TypeError, | ||||
'invalid keys not allowed on a Property Descriptor' | ||||
); | ||||
t.doesNotThrow( | ||||
function () { assertRecord(ES.Type, record, 'arg', {}); }, | ||||
'empty object is an incomplete Property Descriptor' | ||||
); | ||||
t.doesNotThrow( | ||||
function () { assertRecord(ES.Type, record, 'arg', v.accessorDescriptor()); }, | ||||
'accessor descriptor is a Property Descriptor' | ||||
); | ||||
t.doesNotThrow( | ||||
function () { assertRecord(ES.Type, record, 'arg', v.mutatorDescriptor()); }, | ||||
'mutator descriptor is a Property Descriptor' | ||||
); | ||||
t.doesNotThrow( | ||||
function () { assertRecord(ES.Type, record, 'arg', v.dataDescriptor()); }, | ||||
'data descriptor is a Property Descriptor' | ||||
); | ||||
t.doesNotThrow( | ||||
function () { assertRecord(ES.Type, record, 'arg', v.genericDescriptor()); }, | ||||
'generic descriptor is a Property Descriptor' | ||||
); | ||||
t['throws']( | ||||
function () { assertRecord(ES.Type, record, 'arg', v.bothDescriptor()); }, | ||||
TypeError, | ||||
'a Property Descriptor can not be both a Data and an Accessor Descriptor' | ||||
); | ||||
t.end(); | ||||
}); | ||||
}; | ||||