mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-28 09:38:52 +00:00
620bcae53a
Change-type: patch
69 lines
1.3 KiB
TypeScript
69 lines
1.3 KiB
TypeScript
import { expect } from 'chai';
|
|
import { FDTDirective } from '~/src/config/backends/extlinux-file';
|
|
|
|
describe('FDT directive', () => {
|
|
const directive = new FDTDirective();
|
|
|
|
it('parses valid FDT value', () => {
|
|
VALID_VALUES.forEach(({ input, output }) =>
|
|
// @ts-expect-error input with no FDT can still be parsed
|
|
expect(directive.parse(input)).to.deep.equal(output),
|
|
);
|
|
});
|
|
|
|
it('generates value from valid ConfigOptions', () => {
|
|
expect(
|
|
directive.generate({
|
|
fdt: '/boot/mycustomdtb.dtb',
|
|
}),
|
|
).to.deep.equal('/boot/mycustomdtb.dtb');
|
|
});
|
|
|
|
it('errors when generating with invalid ConfigOptions', () => {
|
|
INVALID_CONFIGS_OPTIONS.forEach(({ input, reason }) =>
|
|
// @ts-expect-error
|
|
expect(() => directive.generate(input)).to.throw(reason),
|
|
);
|
|
});
|
|
});
|
|
|
|
const VALID_VALUES = [
|
|
{
|
|
input: {
|
|
FDT: '/boot/mycustomdtb.dtb',
|
|
},
|
|
output: {
|
|
fdt: '/boot/mycustomdtb.dtb',
|
|
},
|
|
},
|
|
{
|
|
input: {
|
|
FDT: '',
|
|
},
|
|
output: {},
|
|
},
|
|
{
|
|
input: {},
|
|
output: {},
|
|
},
|
|
];
|
|
|
|
const INVALID_CONFIGS_OPTIONS = [
|
|
{
|
|
input: {
|
|
fdt: '',
|
|
},
|
|
reason: 'Cannot set FDT of an empty value.',
|
|
},
|
|
{
|
|
input: {
|
|
fdt: null,
|
|
},
|
|
reason: 'Cannot set FDT of non-string value: null',
|
|
},
|
|
{
|
|
input: {},
|
|
reason: 'Cannot set FDT of non-string value: ',
|
|
},
|
|
];
|