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",
},
},
},