36 lines
548 B
Go
36 lines
548 B
Go
package ast
|
|
|
|
import (
|
|
"strconv"
|
|
"testing"
|
|
)
|
|
|
|
func TestPosString(t *testing.T) {
|
|
cases := []struct {
|
|
Input Pos
|
|
String string
|
|
}{
|
|
{
|
|
Pos{Line: 1, Column: 1},
|
|
"1:1",
|
|
},
|
|
{
|
|
Pos{Line: 2, Column: 3},
|
|
"2:3",
|
|
},
|
|
{
|
|
Pos{Line: 3, Column: 2, Filename: "template.hil"},
|
|
"template.hil:3:2",
|
|
},
|
|
}
|
|
|
|
for i, tc := range cases {
|
|
t.Run(strconv.Itoa(i), func(t *testing.T) {
|
|
got := tc.Input.String()
|
|
if want, got := tc.String, got; want != got {
|
|
t.Errorf("%#v produced %q; want %q", tc.Input, got, want)
|
|
}
|
|
})
|
|
}
|
|
}
|