mirror of
https://github.com/ansible/awx.git
synced 2026-01-16 12:20:45 -03:30
Add CodeMirrorInput and VariablesField Add components for syntax highlighting, YAML/JSON toggle
71 lines
1.4 KiB
JavaScript
71 lines
1.4 KiB
JavaScript
import { yamlToJson, jsonToYaml } from '../../src/util/yaml';
|
|
|
|
describe('yamlToJson', () => {
|
|
test('should convert to json', () => {
|
|
const yaml = `
|
|
---
|
|
one: 1
|
|
two: two
|
|
`;
|
|
expect(yamlToJson(yaml)).toEqual(`{
|
|
"one": 1,
|
|
"two": "two"
|
|
}`);
|
|
});
|
|
|
|
test('should remove comments', () => {
|
|
const yaml = `
|
|
---
|
|
one: 1
|
|
# comment
|
|
two: two
|
|
# comment two
|
|
`;
|
|
expect(yamlToJson(yaml)).toEqual(`{
|
|
"one": 1,
|
|
"two": "two"
|
|
}`);
|
|
});
|
|
|
|
test('should convert empty string to {}', () => {
|
|
expect(yamlToJson('')).toEqual('{}');
|
|
});
|
|
|
|
test('should convert null to {}', () => {
|
|
expect(yamlToJson(null)).toEqual('{}');
|
|
});
|
|
|
|
test('should convert empty yaml to {}', () => {
|
|
expect(yamlToJson('---')).toEqual('{}');
|
|
});
|
|
|
|
test('should throw if invalid yaml given', () => {
|
|
expect(() => yamlToJson('foo')).toThrow();
|
|
});
|
|
});
|
|
|
|
describe('jsonToYaml', () => {
|
|
test('should convert to yaml', () => {
|
|
const json = `{
|
|
"one": 1,
|
|
"two": "two"
|
|
}
|
|
`;
|
|
expect(jsonToYaml(json)).toEqual(`one: 1
|
|
two: two
|
|
`);
|
|
});
|
|
|
|
test('should convert empty object to empty yaml doc', () => {
|
|
expect(jsonToYaml('{}')).toEqual('---\n');
|
|
});
|
|
|
|
test('should convert empty string to empty yaml doc', () => {
|
|
expect(jsonToYaml('')).toEqual('---\n');
|
|
});
|
|
|
|
test('should throw if invalid json given', () => {
|
|
expect(() => jsonToYaml('bad data')).toThrow();
|
|
});
|
|
});
|