File: esnext.async-iterator.async-dispose.js

package info (click to toggle)
node-core-js 3.33.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,828 kB
  • sloc: javascript: 87,204; makefile: 13
file content (25 lines) | stat: -rw-r--r-- 733 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const { create } = Object;

QUnit.test('AsyncIterator#@@asyncDispose', assert => {
  const asyncDispose = AsyncIterator.prototype[Symbol.asyncDispose];
  assert.isFunction(asyncDispose);
  assert.arity(asyncDispose, 0);
  assert.looksNative(asyncDispose);

  return create(AsyncIterator.prototype)[Symbol.asyncDispose]().then(result => {
    assert.same(result, undefined);
  }).then(() => {
    let called = false;
    const iterator2 = create(AsyncIterator.prototype);
    iterator2.return = function () {
      called = true;
      assert.same(this, iterator2);
      return 7;
    };

    return iterator2[Symbol.asyncDispose]().then(result => {
      assert.same(result, undefined);
      assert.true(called);
    });
  });
});