json-parser-yaml-converter
Version:
Enhanced JSON Parser with verbose error messages and JSON to YAML conversion
68 lines (61 loc) • 1.74 kB
JavaScript
/**
* This module tests the yamlConverter module.
*
* @module yamlConverter.test
*/
;
import { jsonToYaml } from "../src/index.js";
import { json2Yaml } from "../src/loggers.js";
import { readFileSync } from 'fs';
import { cleanString } from './utils.js'
const TESTS = [
'complete',
'complex',
'emoji',
'float',
'huge',
'list',
'multiString',
'nested',
'package',
'simple',
'uniqueBracket',
'uniqueList',
'values'
]
describe('YAML Converter', () => {
for (const TEST of TESTS) {
test(TEST, () => {
let expected = readFileSync(`test/converterTests/expected/${TEST}.yml`, 'utf8');
jsonToYaml(`test/converterTests/examples/${TEST}.json`,`test/converterTests/actual/${TEST}.yml`);
let actual = readFileSync(`test/converterTests/actual/${TEST}.yml`, 'utf8');
expect(actual).toBe(expected);
});
}
});
const LOGGER_TESTS = [
'correct',
'noFile',
'wrong'
]
describe('YAML Logger', () => {
const oldLog = console.log;
const oldError = console.error;
const oldWarn = console.warn;
for (const TEST of LOGGER_TESTS) {
test(TEST, () => {
let expected = readFileSync(`test/converterTests/expected/${TEST}.txt`, 'utf8');
let actual = '';
console.log = console.error = console.warn = (msg) => {
actual += msg + '\n';
};
json2Yaml(`test/converterTests/examples/${TEST}.json`, {output: `test/converterTests/actual/${TEST}.yml`});
expected = cleanString(expected);
actual = cleanString(actual);
console.log = oldLog;
console.error = oldError;
console.warn = oldWarn;
expect(actual).toBe(expected);
});
}
})