From 732650d6a43d235d36a9bf8717766e012f445461 Mon Sep 17 00:00:00 2001 From: Anton Golub Date: Tue, 31 Oct 2023 09:54:48 +0300 Subject: fix: provide nodejs compat for dns methods wrapped with util.promisify (#6748) * fix: add nodejs compat for dns methods wrapping with util.promisify * fix: use single symbol for util.promisify.custom * style: linting --- test/js/node/dns/node-dns.test.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'test/js/node/dns/node-dns.test.js') diff --git a/test/js/node/dns/node-dns.test.js b/test/js/node/dns/node-dns.test.js index 1988e9155..edf58308a 100644 --- a/test/js/node/dns/node-dns.test.js +++ b/test/js/node/dns/node-dns.test.js @@ -3,6 +3,7 @@ import * as dns from "node:dns"; import * as dns_promises from "node:dns/promises"; import * as fs from "node:fs"; import * as os from "node:os"; +import * as util from "node:util"; // TODO: test("it exists", () => { @@ -405,3 +406,31 @@ describe("lookup deprecated behavior", () => { }); }); }); + +describe("uses `dns.promises` implementations for `util.promisify` factory", () => { + it.each([ + "lookup", + "lookupService", + "resolve", + "reverse", + "resolve4", + "resolve6", + "resolveAny", + "resolveCname", + "resolveCaa", + "resolveMx", + "resolveNs", + "resolvePtr", + "resolveSoa", + "resolveSrv", + "resolveTxt", + "resolveNaptr", + ])("%s", method => { + expect(dns[method][util.promisify.custom]).toBe(dns_promises[method]); + expect(dns.promises[method]).toBe(dns_promises[method]); + }); + + it("util.promisify(dns.lookup) acts like dns.promises.lookup", async () => { + expect(await util.promisify(dns.lookup)("example.com")).toEqual(await dns.promises.lookup("example.com")); + }); +}); -- cgit v1.2.3