Files
chaisql/internal/expr/operator_test.go
Asdine El Hrychy 43a9b3e560 Parse blob literal (#423)
We now have a literal representation for BLOBs. Any string literal starting
with '\x' is parsed as an hex encoded blob. This mimics PostgreSQL's behavior.

```sql
SELECT '\xAAFF';
```
2021-07-23 21:15:29 +04:00

33 lines
667 B
Go

package expr_test
import (
"path/filepath"
"testing"
"github.com/genjidb/genji/internal/testutil"
"github.com/genjidb/genji/types"
)
func TestConcatExpr(t *testing.T) {
tests := []struct {
expr string
res types.Value
fails bool
}{
{"'a' || 'b'", types.NewTextValue("ab"), false},
{"'a' || NULL", nullLiteral, false},
{"'a' || notFound", nullLiteral, false},
{"'a' || 1", nullLiteral, false},
}
for _, test := range tests {
t.Run(test.expr, func(t *testing.T) {
testutil.TestExpr(t, test.expr, envWithDoc, test.res, test.fails)
})
}
}
func TestCast(t *testing.T) {
testutil.ExprRunner(t, filepath.Join("testdata", "cast.sql"))
}