UNPKG

@joystick.js/db-canary

Version:

JoystickDB - A minimalist database server for the Joystick framework

46 lines (34 loc) 1.33 kB
import test from 'ava'; import safe_json_parse from '../../../src/server/lib/safe_json_parse.js'; test('safe_json_parse parses valid JSON string', (t = {}) => { const valid_json = '{"name": "test", "value": 123}'; const result = safe_json_parse(valid_json); t.deepEqual(result, { name: "test", value: 123 }); }); test('safe_json_parse returns null for invalid JSON string', (t = {}) => { const invalid_json = '{"name": "test", "value":}'; const result = safe_json_parse(invalid_json); t.is(result, null); }); test('safe_json_parse returns null for empty string', (t = {}) => { const empty_string = ''; const result = safe_json_parse(empty_string); t.is(result, null); }); test('safe_json_parse returns null for non-string input', (t = {}) => { const non_string = undefined; const result = safe_json_parse(non_string); t.is(result, null); }); test('safe_json_parse parses array JSON', (t = {}) => { const array_json = '[1, 2, 3]'; const result = safe_json_parse(array_json); t.deepEqual(result, [1, 2, 3]); }); test('safe_json_parse parses primitive JSON values', (t = {}) => { t.is(safe_json_parse('true'), true); t.is(safe_json_parse('false'), false); t.is(safe_json_parse('null'), null); t.is(safe_json_parse('42'), 42); t.is(safe_json_parse('"hello"'), "hello"); });