mirror of
https://github.com/hanzoai/core-js.git
synced 2026-09-24 16:58:15 +00:00
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
import Symbol from 'core-js-pure/es/symbol';
|
|
import codePoints from 'core-js-pure/full/string/code-points';
|
|
|
|
QUnit.test('String#codePoints', assert => {
|
|
assert.isFunction(codePoints);
|
|
let iterator = codePoints('qwe');
|
|
assert.isIterator(iterator);
|
|
assert.isIterable(iterator);
|
|
assert.same(iterator[Symbol.toStringTag], 'String Iterator');
|
|
assert.same(String(iterator), '[object String Iterator]');
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 113, position: 0 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 119, position: 1 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 101, position: 2 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: undefined,
|
|
done: true,
|
|
});
|
|
iterator = codePoints('𠮷𠮷𠮷');
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 134071, position: 0 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 134071, position: 2 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: { codePoint: 134071, position: 4 },
|
|
done: false,
|
|
});
|
|
assert.deepEqual(iterator.next(), {
|
|
value: undefined,
|
|
done: true,
|
|
});
|
|
|
|
assert.throws(() => codePoints(Symbol()), 'throws on symbol context');
|
|
});
|