Merge "Add support for maps in blueprint files."
diff --git a/parser/parser.go b/parser/parser.go
index 8d2b519..3e26b21 100644
--- a/parser/parser.go
+++ b/parser/parser.go
@@ -482,7 +482,7 @@
 		return p.parseVariable()
 	case '-', scanner.Int: // Integer might have '-' sign ahead ('+' is only treated as operator now)
 		return p.parseIntValue()
-	case scanner.String:
+	case scanner.String, scanner.RawString:
 		return p.parseStringValue()
 	case '[':
 		return p.parseListValue()
@@ -540,7 +540,7 @@
 		LiteralPos: p.scanner.Position,
 		Value:      str,
 	}
-	p.accept(scanner.String)
+	p.accept(p.tok)
 	return value
 }
 
diff --git a/parser/parser_test.go b/parser/parser_test.go
index 96ddefc..b32581e 100644
--- a/parser/parser_test.go
+++ b/parser/parser_test.go
@@ -144,7 +144,8 @@
 	{`
 		foo {
 			stuff: ["asdf", "jkl;", "qwert",
-				"uiop", "bnm,"]
+				"uiop", ` + "`bnm,\n`" +
+		`]
 		}
 		`,
 		[]Definition{
@@ -153,7 +154,7 @@
 				TypePos: mkpos(3, 2, 3),
 				Map: Map{
 					LBracePos: mkpos(7, 2, 7),
-					RBracePos: mkpos(67, 5, 3),
+					RBracePos: mkpos(68, 6, 3),
 					Properties: []*Property{
 						{
 							Name:     "stuff",
@@ -161,7 +162,7 @@
 							ColonPos: mkpos(17, 3, 9),
 							Value: &List{
 								LBracePos: mkpos(19, 3, 11),
-								RBracePos: mkpos(63, 4, 19),
+								RBracePos: mkpos(64, 5, 2),
 								Values: []Expression{
 									&String{
 										LiteralPos: mkpos(20, 3, 12),
@@ -181,7 +182,7 @@
 									},
 									&String{
 										LiteralPos: mkpos(57, 4, 13),
-										Value:      "bnm,",
+										Value:      "bnm,\n",
 									},
 								},
 							},