deno
ccc9aba5 - fix(node/assert): deepStrictEqual now correctly handles Number objects (#31233)

Commit
322 days ago
fix(node/assert): deepStrictEqual now correctly handles Number objects (#31233) Fixes #31172 ## Description The `deepStrictEqual` function was using `asserts.equal()` which doesn't properly handle boxed primitives like Number objects. Changed it to use `isDeepStrictEqual()` from `comparisons.ts` which correctly handles Number, String, Boolean, BigInt, and Symbol objects. ## Changes - Modified `ext/node/polyfills/assert.ts`: - Added import for `isDeepStrictEqual` from `ext:deno_node/internal/util/comparisons.ts` - Updated `deepStrictEqual` function to use `isDeepStrictEqual()` instead of `asserts.equal()` - Added test cases in `tests/unit_node/assert_test.ts`: - Test that `deepStrictEqual` throws `AssertionError` for different Number objects - Test that `deepStrictEqual` passes for equal Number objects ## Testing Added unit tests to verify: - `deepStrictEqual` throws `AssertionError` for different Number objects (e.g., `new Number(1)` vs `new Number(2)`) - `deepStrictEqual` passes for equal Number objects (e.g., `new Number(1)` vs `new Number(1)`) ## Related Issue #31172 - `assert.deepStrictEqual` does not throw exception for Number objects --------- Co-authored-by: Daniel Rahmanto <daniel.rahmanto@gmail.com>
Author
Parents
Loading