Spaces:
Runtime error
Runtime error
| const { test } = require('node:test') | |
| const build = require('..') | |
| test('Finite numbers', t => { | |
| const values = [-5, 0, -0, 1.33, 99, 100.0, | |
| Math.E, Number.EPSILON, | |
| Number.MAX_SAFE_INTEGER, Number.MAX_VALUE, | |
| Number.MIN_SAFE_INTEGER, Number.MIN_VALUE] | |
| t.plan(values.length) | |
| const schema = { | |
| type: 'number' | |
| } | |
| const stringify = build(schema) | |
| values.forEach(v => t.assert.equal(stringify(v), JSON.stringify(v))) | |
| }) | |
| test('Infinite integers', t => { | |
| const values = [Infinity, -Infinity] | |
| t.plan(values.length) | |
| const schema = { | |
| type: 'integer' | |
| } | |
| const stringify = build(schema) | |
| values.forEach(v => { | |
| try { | |
| stringify(v) | |
| } catch (err) { | |
| t.assert.equal(err.message, `The value "${v}" cannot be converted to an integer.`) | |
| } | |
| }) | |
| }) | |
| test('Infinite numbers', t => { | |
| const values = [Infinity, -Infinity] | |
| t.plan(values.length) | |
| const schema = { | |
| type: 'number' | |
| } | |
| const stringify = build(schema) | |
| values.forEach(v => t.assert.equal(stringify(v), JSON.stringify(v))) | |
| }) | |