-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed
Labels
assertIssues and PRs related to the assert subsystem.Issues and PRs related to the assert subsystem.
Description
- Version: v12.12.0
- Platform: Darwin balupton-macbook.local 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:15 PDT 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
- Subsystem: 64-bit
const assert = require('assert')
function log(fn) {
try {
fn()
} catch (e) {
console.error('---')
console.error(fn.toString())
console.error(e)
console.error('\n')
}
}
// nan value
log(() => assert.equal(0 / 0, 0 / 0))
log(() => assert.deepEqual(0 / 0, 0 / 0))
// nan reference
const nan = 0 / 0
log(() => assert.equal(nan, nan))
log(() => assert.deepEqual(nan, nan))
// object value
log(() => assert.deepEqual({ p: nan }, { p: nan }))
// object reference
const o = { p: nan }
log(() => assert.equal(o, o))
log(() => assert.deepEqual(o, o))---
() => assert.equal(0 / 0, 0 / 0)
AssertionError [ERR_ASSERTION]: NaN == NaN
at /Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:14:18
at log (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:4:3)
at Object.<anonymous> (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:14:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: NaN,
expected: NaN,
operator: '=='
}
---
() => assert.deepEqual(0 / 0, 0 / 0)
AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:
NaN
should loosely deep-equal
NaN
at /Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:15:18
at log (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:4:3)
at Object.<anonymous> (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:15:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: NaN,
expected: NaN,
operator: 'deepEqual'
}
---
() => assert.equal(nan, nan)
AssertionError [ERR_ASSERTION]: NaN == NaN
at /Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:19:18
at log (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:4:3)
at Object.<anonymous> (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:19:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: NaN,
expected: NaN,
operator: '=='
}
---
() => assert.deepEqual(nan, nan)
AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:
NaN
should loosely deep-equal
NaN
at /Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:20:18
at log (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:4:3)
at Object.<anonymous> (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:20:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: NaN,
expected: NaN,
operator: 'deepEqual'
}
---
() => assert.deepEqual({ p: nan }, { p: nan })
AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:
{
p: NaN
}
should loosely deep-equal
{
p: NaN
}
at /Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:23:18
at log (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:4:3)
at Object.<anonymous> (/Users/balupton/Projects/batches/obligations/promises/normalify/node-issue-30350.js:23:1)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: [Object],
expected: [Object],
operator: 'deepEqual'
}
Metadata
Metadata
Assignees
Labels
assertIssues and PRs related to the assert subsystem.Issues and PRs related to the assert subsystem.