Files
scratch-vm/test/unit/tw_safe_stringify.js
T
Thomas Weber 553a2a434d Use safe stringify from -gui for visual reports
Fixes stringifying -0, objects, arrays
2026-01-09 22:23:46 -06:00

33 lines
956 B
JavaScript

const {test} = require('tap');
const safeStringify = require('../../src/util/tw-safe-stringify');
test('safeStringify', t => {
t.equal(safeStringify(''), '');
t.equal(safeStringify('a'), 'a');
t.equal(safeStringify(true), 'true');
t.equal(safeStringify(false), 'false');
t.equal(safeStringify(0), '0');
t.equal(safeStringify(-0), '-0');
t.equal(safeStringify(1), '1');
t.equal(safeStringify(Infinity), 'Infinity');
t.equal(safeStringify(-Infinity), '-Infinity');
t.equal(safeStringify(NaN), 'NaN');
t.equal(safeStringify(null), 'null');
t.equal(safeStringify(undefined), 'undefined');
t.equal(safeStringify({}), '{}');
t.equal(safeStringify({a: 'b'}), '{"a":"b"}');
t.equal(safeStringify([]), '[]');
t.equal(safeStringify([1, 2, 3]), '[1,2,3]');
const circular = {};
circular.circular = circular;
t.equal(safeStringify(circular), '{"circular":"{...}"}');
t.end();
});