1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-30 02:59:11 -05:00
denoland-deno/tests/node_compat/test/parallel/test-timers-clearImmediate-als.js
Yoshiya Hinosawa fb24fd37c9
test: add node compat test cases (#27134)
This PR enables node compat test cases found passing by using the tool
added in #27122

The percentage of passing test case increases from 16.16% to 30.43% by
this change.
2024-12-04 11:37:20 +09:00

35 lines
1 KiB
JavaScript

// deno-fmt-ignore-file
// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 20.11.1
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
'use strict';
const common = require('../common');
const assert = require('assert');
const { AsyncLocalStorage } = require('async_hooks');
// This is an asynclocalstorage variant of test-timers-clearImmediate.js
const asyncLocalStorage = new AsyncLocalStorage();
const N = 3;
function next() {
const fn = common.mustCall(onImmediate);
asyncLocalStorage.run(new Map(), common.mustCall(() => {
const immediate = setImmediate(fn);
const store = asyncLocalStorage.getStore();
store.set('immediate', immediate);
}));
}
function onImmediate() {
const store = asyncLocalStorage.getStore();
const immediate = store.get('immediate');
assert.strictEqual(immediate.constructor.name, 'Immediate');
clearImmediate(immediate);
}
for (let i = 0; i < N; i++) {
next();
}