forked from extern/bruno
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
const {
|
|
safeParseJson,
|
|
indentString,
|
|
outdentString,
|
|
get
|
|
} = require('../src/utils');
|
|
|
|
describe('utils', () => {
|
|
describe('safeParseJson', () => {
|
|
it('should parse valid json', () => {
|
|
const input = '{"a": 1}';
|
|
const result = safeParseJson(input);
|
|
expect(result).toEqual({ a: 1 });
|
|
});
|
|
|
|
it('should return null for invalid json', () => {
|
|
const input = '{"a": 1';
|
|
const result = safeParseJson(input);
|
|
expect(result).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe('indentString', () => {
|
|
it('correctly indents a multiline string', () => {
|
|
const input = "line1\nline2\nline3";
|
|
const expectedOutput = " line1\n line2\n line3";
|
|
expect(indentString(input)).toBe(expectedOutput);
|
|
});
|
|
});
|
|
|
|
describe('outdentString', () => {
|
|
it('correctly outdents a multiline string', () => {
|
|
const input = " line1\n line2\n line3";
|
|
const expectedOutput = "line1\nline2\nline3";
|
|
expect(outdentString(input)).toBe(expectedOutput);
|
|
});
|
|
});
|
|
|
|
describe('get', () => {
|
|
it('returns the value at the given path', () => {
|
|
const input = { a: { b: { c: 1 } } };
|
|
expect(get(input, 'a.b.c')).toBe(1);
|
|
});
|
|
|
|
it('returns the defaultValue if the path does not exist', () => {
|
|
const input = { a: { b: { c: 1 } } };
|
|
expect(get(input, 'a.b.d', 2)).toBe(2);
|
|
});
|
|
});
|
|
}); |