Files
tidb/expression/expressions/conversion_test.go
2015-09-06 12:08:47 +08:00

38 lines
698 B
Go

package expressions
import (
"errors"
. "github.com/pingcap/check"
mysql "github.com/pingcap/tidb/mysqldef"
)
var _ = Suite(&testConversionSuite{})
type testConversionSuite struct {
}
func (s *testConversionSuite) TestConversion(c *C) {
expr := Conversion{
Tp: mysql.TypeLonglong,
Val: Value{int64(1)},
}
v, err := expr.Eval(nil, nil)
c.Assert(err, IsNil)
c.Assert(v, Equals, int64(1))
c.Assert(expr.IsStatic(), IsTrue)
c.Assert(len(expr.String()), Greater, 0)
_, err = expr.Clone()
c.Assert(err, IsNil)
// test error
expr.Val = mockExpr{err: errors.New("must error")}
_, err = expr.Clone()
c.Assert(err, NotNil)
_, err = expr.Eval(nil, nil)
c.Assert(err, NotNil)
}