@@ -67,6 +67,11 @@ func TestParse(t *testing.T) {
6767 input : "name // comment" ,
6868 expect : mkt ("name" ),
6969 },
70+ {
71+ name : "name with comment after extra spaces" ,
72+ input : "name \t // comment" ,
73+ expect : mkt ("name" ),
74+ },
7075 {
7176 name : "name with dash" ,
7277 input : "name-dash" ,
@@ -89,6 +94,16 @@ func TestParse(t *testing.T) {
8994 input : "name=" ,
9095 wantError : "unexpected end of input" ,
9196 },
97+ {
98+ name : "space before =" ,
99+ input : "name =x" ,
100+ wantError : "unexpected character ' '" ,
101+ },
102+ {
103+ name : "space after =" ,
104+ input : "name= x" ,
105+ wantError : "unexpected character ' '" ,
106+ },
92107
93108 // String arguments tests
94109 {
@@ -203,6 +218,51 @@ func TestParse(t *testing.T) {
203218 input : "name=+badRaw(missing`)" ,
204219 wantError : "unexpected character '`'" ,
205220 },
221+ {
222+ name : "space before (" ,
223+ input : "name ()" ,
224+ wantError : "unexpected character ' '" ,
225+ },
226+ {
227+ name : "space between ( and )" ,
228+ input : "name ( )" ,
229+ wantError : "unexpected character ' '" ,
230+ },
231+ {
232+ name : "space before arg" ,
233+ input : "name( x)" ,
234+ wantError : "unexpected character ' '" ,
235+ },
236+ {
237+ name : "space after arg" ,
238+ input : "name(x )" ,
239+ wantError : "unexpected character ' '" ,
240+ },
241+ {
242+ name : "space before :" ,
243+ input : "name(k :v)" ,
244+ wantError : "unexpected character ' '" ,
245+ },
246+ {
247+ name : "space before value" ,
248+ input : "name(k:v )" ,
249+ wantError : "unexpected character ' '" ,
250+ },
251+ {
252+ name : "space before ," ,
253+ input : "name(k:v ,k2:v2)" ,
254+ wantError : "unexpected character ' '" ,
255+ },
256+ {
257+ name : "space before =" ,
258+ input : "name() =x" ,
259+ wantError : "unexpected character ' '" ,
260+ },
261+ {
262+ name : "space after =" ,
263+ input : "name()= x" ,
264+ wantError : "unexpected character ' '" ,
265+ },
206266
207267 // Named arguments tests
208268 {
@@ -311,7 +371,7 @@ func TestParse(t *testing.T) {
311371 {
312372 name : "space in value" ,
313373 input : "key=one two" ,
314- wantError : "unexpected character 't '" ,
374+ wantError : "unexpected character ' '" ,
315375 },
316376 {
317377 name : "unclosed backtick quoted string" ,
0 commit comments