From 8583e6403779386ae8dfd4d707ffa16906367ca7 Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Tue, 7 Jan 2025 01:40:50 +0000 Subject: [PATCH] util node tests: Prevent Intl.ListFormat leaks. These never happen in practice since util is near the end of the alphabet, but if you had run the tests in reverse order, you would have seen this leak. This leak was introduced in the efb2a5a38dd commit. --- web/tests/util.test.cjs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/web/tests/util.test.cjs b/web/tests/util.test.cjs index 5b4b84b358..5bcb006957 100644 --- a/web/tests/util.test.cjs +++ b/web/tests/util.test.cjs @@ -5,7 +5,7 @@ const assert = require("node:assert/strict"); const _ = require("lodash"); const MockDate = require("mockdate"); -const {set_global, zrequire} = require("./lib/namespace.cjs"); +const {set_global, with_overrides, zrequire} = require("./lib/namespace.cjs"); const {run_test} = require("./lib/test.cjs"); const blueslip = zrequire("blueslip"); @@ -369,12 +369,17 @@ run_test("format_array_as_list", () => { ); // when Intl.ListFormat does not exist - global.Intl.ListFormat = undefined; - assert.equal(util.format_array_as_list(array, "long", "conjunction"), "apple, banana, orange"); - assert.equal( - util.format_array_as_list_with_highlighted_elements(array, "long", "conjunction"), - "apple, banana, orange", - ); + with_overrides(({override}) => { + override(global.Intl, "ListFormat", undefined); + assert.equal( + util.format_array_as_list(array, "long", "conjunction"), + "apple, banana, orange", + ); + assert.equal( + util.format_array_as_list_with_highlighted_elements(array, "long", "conjunction"), + "apple, banana, orange", + ); + }); }); run_test("get_remaining_time", () => {