m = require 'mochainon' { expect } = m.chai conversion = require '../src/lib/conversions' describe 'conversions', -> describe 'envArrayToObject', -> 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', -> expect(conversion.envArrayToObject(null)).to.deep.equal({}) expect(conversion.envArrayToObject('')).to.deep.equal({}) expect(conversion.envArrayToObject([])).to.deep.equal({}) expect(conversion.envArrayToObject(1)).to.deep.equal({}) it 'should ignore leading and trailing whitespace', -> expect(conversion.envArrayToObject([ 'TEST=\ntest' 'TEST2=test\n' 'TEST3=\ntest\n' ])).to.deep.equal({ TEST: 'test' TEST2: 'test' TEST3: 'test' })