go-parsekit/tokenresult_test.go

28 lines
848 B
Go

package parsekit
import (
"strings"
"testing"
)
func TestSetResult_AcceptsVariousTypesAsInput(t *testing.T) {
i := NewTokenAPI(strings.NewReader("Testing"))
i.Result().SetRunes("string")
AssertEqual(t, "string", string(i.Result().String()), "i.Result() with string input")
i.Result().SetRunes([]rune("rune slice"))
AssertEqual(t, "rune slice", string(i.Result().String()), "i.Result() with rune slice input")
i.Result().SetRunes('X')
AssertEqual(t, "X", string(i.Result().String()), "i.Result() with rune input")
}
func TestSetResult_PanicsOnUnhandledInput(t *testing.T) {
AssertPanic(t, PanicT{
Function: func() {
i := NewTokenAPI(strings.NewReader("Testing"))
i.Result().SetRunes(1234567)
},
Regexp: true,
Expect: `parsekit\.TokenResult\.AddRunes\(\): unsupported type 'int' used at /.*/tokenresult_test.go:\d+`,
})
}