Skip to content

Commit

Permalink
add further tests for indented heredocs
Browse files Browse the repository at this point in the history
  • Loading branch information
kmoe committed Feb 2, 2022
1 parent fd6e06b commit 1f6e391
Showing 1 changed file with 144 additions and 0 deletions.
144 changes: 144 additions & 0 deletions hclsyntax/scan_tokens_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1507,6 +1507,150 @@ EOT
},
},
},
{
`<<EOT
hello world
EOT
`,
[]Token{
{
Type: TokenOHeredoc,
Bytes: []byte("<<EOT\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 0, Line: 1, Column: 1},
End: hcl.Pos{Byte: 6, Line: 2, Column: 1},
},
},
{
Type: TokenStringLit,
Bytes: []byte(" hello world\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 6, Line: 2, Column: 1},
End: hcl.Pos{Byte: 20, Line: 3, Column: 1},
},
},
{
Type: TokenCHeredoc,
Bytes: []byte("EOT"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 20, Line: 3, Column: 1},
End: hcl.Pos{Byte: 23, Line: 3, Column: 4},
},
},
{
Type: TokenNewline,
Bytes: []byte("\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 23, Line: 3, Column: 4},
End: hcl.Pos{Byte: 24, Line: 4, Column: 1},
},
},
{
Type: TokenEOF,
Bytes: []byte{},
Range: hcl.Range{
Start: hcl.Pos{Byte: 24, Line: 4, Column: 1},
End: hcl.Pos{Byte: 24, Line: 4, Column: 1},
},
},
},
},
{
`<<-EOT
hello world
EOT
`,
[]Token{
{
Type: TokenOHeredoc,
Bytes: []byte("<<-EOT\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 0, Line: 1, Column: 1},
End: hcl.Pos{Byte: 7, Line: 2, Column: 1},
},
},
{
Type: TokenStringLit,
Bytes: []byte(" hello world\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 7, Line: 2, Column: 1},
End: hcl.Pos{Byte: 21, Line: 3, Column: 1},
},
},
{
Type: TokenCHeredoc,
Bytes: []byte("EOT"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 21, Line: 3, Column: 1},
End: hcl.Pos{Byte: 24, Line: 3, Column: 4},
},
},
{
Type: TokenNewline,
Bytes: []byte("\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 24, Line: 3, Column: 4},
End: hcl.Pos{Byte: 25, Line: 4, Column: 1},
},
},
{
Type: TokenEOF,
Bytes: []byte{},
Range: hcl.Range{
Start: hcl.Pos{Byte: 25, Line: 4, Column: 1},
End: hcl.Pos{Byte: 25, Line: 4, Column: 1},
},
},
},
},
{
`<<-EOT
hello world
EOT
`,
[]Token{
{
Type: TokenOHeredoc,
Bytes: []byte("<<-EOT\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 0, Line: 1, Column: 1},
End: hcl.Pos{Byte: 7, Line: 2, Column: 1},
},
},
{
Type: TokenStringLit,
Bytes: []byte(" hello world\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 7, Line: 2, Column: 1},
End: hcl.Pos{Byte: 21, Line: 3, Column: 1},
},
},
{
Type: TokenCHeredoc,
Bytes: []byte(" EOT"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 21, Line: 3, Column: 1},
End: hcl.Pos{Byte: 25, Line: 3, Column: 5},
},
},
{
Type: TokenNewline,
Bytes: []byte("\n"),
Range: hcl.Range{
Start: hcl.Pos{Byte: 25, Line: 3, Column: 5},
End: hcl.Pos{Byte: 26, Line: 4, Column: 1},
},
},
{
Type: TokenEOF,
Bytes: []byte{},
Range: hcl.Range{
Start: hcl.Pos{Byte: 26, Line: 4, Column: 1},
End: hcl.Pos{Byte: 26, Line: 4, Column: 1},
},
},
},
},
{
`<<EOF
${<<-EOF
Expand Down

0 comments on commit 1f6e391

Please sign in to comment.