Files
NapCatQQ/.pnpm-store/v3/files/02/693526b5b58eaea616ab813cb3f5b928e9c1a436d26bccb0710359bd749d01a6c98cb0d890bd0c2afd97af811b9bc5b64688ce78902afc0c4aa5b63a90df5c
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

55 lines
1.4 KiB
Plaintext

'use strict';
var test = require('tape');
var hasSymbols = require('has-symbols')();
var getProto = require('get-proto');
var iterProto = require('../');
test('Iterator.prototype', function (t) {
t.ok(iterProto, 'is truthy');
t.equal(typeof iterProto, 'object', 'is an object');
t.notEqual(iterProto, Object.prototype, 'is not Object.prototype');
t.test('Symbol.iterator', { skip: !hasSymbols }, function (st) {
var fn = iterProto[Symbol.iterator];
st.equal(typeof fn, 'function', 'Symbol.iterator is a function');
var sentinel = {};
st.equal(
fn.call(sentinel),
sentinel,
'Symbol.iterator returns receiver'
);
st.end();
});
t.test('Array keys', { skip: typeof [].keys !== 'function' }, function (st) {
var grandProto = getProto(getProto([].keys()));
st.equal(
grandProto,
iterProto,
'ArrayIterator [[Prototype]] is Iterator.prototype',
{ skip: grandProto === Object.prototype && 'this environment lacks Iterator.prototype' }
);
st.end();
});
t.test('Set keys', { skip: typeof Set !== 'function' || typeof Set.prototype.keys !== 'function' }, function (st) {
var grandProto = getProto(getProto(new Set().keys()));
st.equal(
grandProto,
iterProto,
'SetIterator [[Prototype]] is Iterator.prototype',
{ skip: grandProto === Object.prototype && 'this environment lacks Iterator.prototype' }
);
st.end();
});
t.end();
});