Files
scratch-vm/test/unit/tw_safe_stringify.js

32 lines
1.1 KiB
JavaScript

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