Move the red-green a little way down the existing parser specs.

This commit is contained in:
John Barton (joho) 2013-07-30 18:23:33 +10:00
parent 919c161945
commit b10c02f9b0
2 changed files with 16 additions and 1 deletions

View File

@ -61,7 +61,9 @@ func parseLine(line string) (key string, value string, err error) {
splitString := strings.Split(line, "=")
key = strings.Trim(splitString[0], " ")
value = strings.Trim(splitString[1], " ")
value = strings.Trim(splitString[1], " \"'")
value = strings.Replace(value, "\\\"", "\"", -1)
return
}

View File

@ -50,4 +50,17 @@ func TestLoadPlainEnv(t *testing.T) {
func TestParsing(t *testing.T) {
// unquoted values
parseAndCompare(t, "FOO=bar", "FOO", "bar")
// parses values with spaces around equal sign
parseAndCompare(t, "FOO =bar", "FOO", "bar")
parseAndCompare(t, "FOO= bar", "FOO", "bar")
// parses double quoted values
parseAndCompare(t, "FOO=\"bar\"", "FOO", "bar")
// parses single quoted values
parseAndCompare(t, "FOO='bar'", "FOO", "bar")
// parses escaped double quotes
parseAndCompare(t, "FOO=escaped\\\"bar\"", "FOO", "escaped\"bar")
}