create project
This commit is contained in:
36
kitabcitab/node_modules/object.hasown/test/tests.js
generated
vendored
Normal file
36
kitabcitab/node_modules/object.hasown/test/tests.js
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
var hasSymbols = require('has-symbols')();
|
||||
|
||||
module.exports = function runTests(hasOwn, t) {
|
||||
var badPropertyKey = { toString: function () { throw new SyntaxError('nope'); } };
|
||||
|
||||
t['throws'](
|
||||
function () { hasOwn(null, badPropertyKey); },
|
||||
TypeError,
|
||||
'checks ToObject first'
|
||||
);
|
||||
|
||||
t['throws'](
|
||||
function () { hasOwn({}, badPropertyKey); },
|
||||
SyntaxError,
|
||||
'checks ToPropertyKey next'
|
||||
);
|
||||
|
||||
var obj = { a: 1 };
|
||||
t.equal('toString' in obj, true, 'object literal has non-own toString');
|
||||
t.equal(hasOwn(obj, 'toString'), false, 'toString is not an own property');
|
||||
t.equal(hasOwn(obj, 'a'), true, 'own property is recognized');
|
||||
|
||||
t.equal(hasOwn([], 'length'), true, 'non-enumerable own property is recognized');
|
||||
|
||||
t.test('Symbols', { skip: !hasSymbols }, function (st) {
|
||||
var o = {};
|
||||
o[Symbol.iterator] = true;
|
||||
st.equal(hasOwn(o, Symbol.iterator), true, 'own symbol is recognized');
|
||||
|
||||
st.equal(hasOwn(Array.prototype, Symbol.iterator), true, 'built-in own symbol is recognized');
|
||||
|
||||
st.end();
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user