mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-20 14:13:08 +00:00
515fb059f4
Change-type: patch
60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
import { expect } from './lib/chai-config';
|
|
import * as conversion from '../src/lib/conversions';
|
|
|
|
describe('conversions', function() {
|
|
describe('envArrayToObject', function() {
|
|
it('should convert an env array to an object', () =>
|
|
expect(
|
|
conversion.envArrayToObject([
|
|
'key=value',
|
|
'test1=test2',
|
|
'k=v',
|
|
'equalsvalue=thisvaluehasan=char',
|
|
'asd=',
|
|
'number=123',
|
|
]),
|
|
).to.deep.equal({
|
|
key: 'value',
|
|
test1: 'test2',
|
|
k: 'v',
|
|
equalsvalue: 'thisvaluehasan=char',
|
|
asd: '',
|
|
number: '123',
|
|
}));
|
|
|
|
it('should ignore invalid env array entries', () =>
|
|
expect(
|
|
conversion.envArrayToObject(['key1', 'key1=value1']),
|
|
).to.deep.equal({
|
|
key1: 'value1',
|
|
}));
|
|
|
|
it('should return an empty object with an empty input', function() {
|
|
// @ts-ignore passing invalid value to test
|
|
expect(conversion.envArrayToObject(null)).to.deep.equal({});
|
|
// @ts-ignore passing invalid value to test
|
|
expect(conversion.envArrayToObject('')).to.deep.equal({});
|
|
expect(conversion.envArrayToObject([])).to.deep.equal({});
|
|
// @ts-ignore passing invalid value to test
|
|
expect(conversion.envArrayToObject(1)).to.deep.equal({});
|
|
});
|
|
});
|
|
|
|
it('should correctly handle whitespace', () =>
|
|
expect(
|
|
conversion.envArrayToObject([
|
|
'key1= test',
|
|
'key2=test\ntest',
|
|
'key3=test ',
|
|
'key4= test ',
|
|
'key5=test\r\ntest',
|
|
]),
|
|
).to.deep.equal({
|
|
key1: ' test',
|
|
key2: 'test\ntest',
|
|
key3: 'test ',
|
|
key4: ' test ',
|
|
key5: 'test\r\ntest',
|
|
}));
|
|
});
|