mirror of https://github.com/jackc/pgx.git
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package pgtype
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseUntypedTextMultirange(t *testing.T) {
|
|
tests := []struct {
|
|
src string
|
|
result UntypedTextMultirange
|
|
err error
|
|
}{
|
|
{
|
|
src: `{[1,2)}`,
|
|
result: UntypedTextMultirange{Elements: []string{`[1,2)`}},
|
|
err: nil,
|
|
},
|
|
{
|
|
src: `{[,),["foo", "bar"]}`,
|
|
result: UntypedTextMultirange{Elements: []string{`[,)`, `["foo", "bar"]`}},
|
|
err: nil,
|
|
},
|
|
{
|
|
src: `{}`,
|
|
result: UntypedTextMultirange{Elements: []string{}},
|
|
err: nil,
|
|
},
|
|
{
|
|
src: ` { (,) , [1,2] } `,
|
|
result: UntypedTextMultirange{Elements: []string{` (,) `, ` [1,2] `}},
|
|
err: nil,
|
|
},
|
|
{
|
|
src: `{["f""oo","b""ar")}`,
|
|
result: UntypedTextMultirange{Elements: []string{`["f""oo","b""ar")`}},
|
|
err: nil,
|
|
},
|
|
}
|
|
for i, tt := range tests {
|
|
r, err := ParseUntypedTextMultirange(tt.src)
|
|
if err != tt.err {
|
|
t.Errorf("%d. `%v`: expected err %v, got %v", i, tt.src, tt.err, err)
|
|
continue
|
|
}
|
|
|
|
if !reflect.DeepEqual(*r, tt.result) {
|
|
t.Errorf("%d: expected %+v to be parsed to %+v, but it was %+v", i, tt.src, tt.result, *r)
|
|
}
|
|
}
|
|
}
|