FOO=BAR= should be "FOO" = "BAR="

pull/2/head
mattn 2013-11-18 18:46:24 +09:00
parent 6e333bd708
commit c0dce90b3c
2 changed files with 6 additions and 2 deletions

View File

@ -138,11 +138,11 @@ func parseLine(line string) (key string, value string, err error) {
}
// now split key from value
splitString := strings.Split(line, "=")
splitString := strings.SplitN(line, "=", 2)
if len(splitString) != 2 {
// try yaml mode!
splitString = strings.Split(line, ":")
splitString = strings.SplitN(line, ":", 2)
}
if len(splitString) != 2 {

View File

@ -151,6 +151,10 @@ func TestParsing(t *testing.T) {
// expect(env('FOO.BAR=foobar')).to eql('FOO.BAR' => 'foobar')
parseAndCompare(t, "FOO.BAR=foobar", "FOO.BAR", "foobar")
// it 'parses varibales with several "=" in the value' do
// expect(env('FOO=foobar=')).to eql('FOO' => 'foobar=')
parseAndCompare(t, "FOO=foobar=", "FOO", "foobar=")
// it 'strips unquoted values' do
// expect(env('foo=bar ')).to eql('foo' => 'bar') # not 'bar '
parseAndCompare(t, "FOO=bar ", "FOO", "bar")