diff --git a/polyfill/polyfill.mjs b/polyfill/polyfill.mjs index 1b523dd..ca05770 100644 --- a/polyfill/polyfill.mjs +++ b/polyfill/polyfill.mjs @@ -55,7 +55,7 @@ export function sum(iterable) { } if (!Object.is(value, -0)) { if (!Number.isFinite(value)) { - return drainNonFiniteValue(val); + return drainNonFiniteValue(value); } partials.push(value); break; diff --git a/polyfill/test-polyfill.mjs b/polyfill/test-polyfill.mjs index 9a01a11..3c2c2d8 100644 --- a/polyfill/test-polyfill.mjs +++ b/polyfill/test-polyfill.mjs @@ -43,6 +43,9 @@ test('special cases', t => { assert.strictEqual(mathSum([-0, -0, -0, 0]), 0); assert.strictEqual(mathSum([1, Infinity, -1e308]), Infinity); assert.strictEqual(mathSum([1, Infinity, -1e308, -Infinity]), NaN); + assert.strictEqual(mathSum([Infinity]), Infinity); + assert.strictEqual(mathSum([-Infinity]), -Infinity); + assert.strictEqual(mathSum([-Infinity, Infinity]), NaN); }); test('1, 2 element lists', t => {