Syntax previewClick to edit
1234
export default function safeJsonParse(text, fallback = null) {
throw new Error('Not implemented');
}
Syntax previewClick to edit
1234567891011121314151617181920212223242526272829
import safeJsonParse from './safeJsonParse';
describe('safeJsonParse', () => {
test('parses valid JSON objects and arrays', () => {
expect(safeJsonParse('{"ok":true}')).toEqual({ ok: true });
expect(safeJsonParse('[1,2,3]')).toEqual([1, 2, 3]);
});
test('parses valid primitives', () => {
expect(safeJsonParse('0')).toBe(0);
expect(safeJsonParse('true')).toBe(true);
expect(safeJsonParse('null')).toBe(null);
});
test('returns fallback on invalid JSON', () => {
const fallback = { ok: false };
expect(safeJsonParse('{bad}', fallback)).toBe(fallback);
});
test('returns fallback for non-string input', () => {
expect(safeJsonParse(42, [])).toEqual([]);
});
test('uses null as default fallback when omitted', () => {
expect(safeJsonParse('{bad}')).toBe(null);
});
});
Run tests to see results.