本文整理汇总了Golang中github.com/reflexionhealth/vanilla/expect.Nil函数的典型用法代码示例。如果您正苦于以下问题:Golang Nil函数的具体用法?Golang Nil怎么用?Golang Nil使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Nil函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestScanNullTime
func TestScanNullTime(t *testing.T) {
var rawTime = time.Now()
var mysqlTime = "2010-07-03 13:24:33"
var byteTime = []byte(mysqlTime)
var notTime = 3
var n Time
var err error
err = n.Scan(rawTime)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.NotEmpty(t, n.Time.Format("2006-01-02 15:04:05"))
err = n.Scan(mysqlTime)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Time.Format("2006-01-02 15:04:05"), mysqlTime)
err = n.Scan(byteTime)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Time.Format("2006-01-02 15:04:05"), mysqlTime)
err = n.Scan(notTime)
expect.NotNil(t, err)
expect.False(t, n.Valid)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:27,代码来源:null_test.go
示例2: TestUnmarshalNullDate
func TestUnmarshalNullDate(t *testing.T) {
var jsonNull string = `null`
var jsonEmpty string = `""`
var stringDate string = `"2010-07-03"`
var stringTime string = `"2010-07-03T13:24:33"`
var stringBogus string = `"bogus"`
var n Date
var err error
err = json.Unmarshal([]byte(jsonNull), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(jsonEmpty), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(stringDate), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Date.Year, 2010)
expect.Equal(t, n.Date.Month, time.July)
expect.Equal(t, n.Date.Day, 3)
err = json.Unmarshal([]byte(stringTime), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(stringBogus), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:32,代码来源:null_test.go
示例3: TestUnmarshalNullTime
func TestUnmarshalNullTime(t *testing.T) {
var jsonNull string = `null`
var jsonEmpty string = `""`
var stringTime string = `"2010-07-03T13:24:33Z"`
var stringBogus string = `"bogus"`
var n Time
var err error
err = json.Unmarshal([]byte(jsonNull), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(jsonEmpty), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(stringTime), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Time.Format("2006-01-02 15:04:05"), "2010-07-03 13:24:33")
err = json.Unmarshal([]byte(stringBogus), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:25,代码来源:null_test.go
示例4: TestUnmarshalNullString
func TestUnmarshalNullString(t *testing.T) {
var jsonNull string = `null`
var jsonNumber string = `3`
var jsonEmpty string = `""`
var validString string = `"foo"`
var n String
var err error
err = json.Unmarshal([]byte(jsonNull), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(jsonNumber), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(jsonEmpty), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.String, "")
err = json.Unmarshal([]byte(validString), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.String, "foo")
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:27,代码来源:null_test.go
示例5: TestUnmarshalNullBool
func TestUnmarshalNullBool(t *testing.T) {
var jsonNull string = `null`
var jsonEmpty string = `""`
var bogusString string = `"bogus"`
var validTrue string = `true`
var validFalse string = `false`
var n Bool
var err error
err = json.Unmarshal([]byte(jsonNull), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(jsonEmpty), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(bogusString), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(validTrue), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
err = json.Unmarshal([]byte(validFalse), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:29,代码来源:null_test.go
示例6: TestMarshalJSON
func TestMarshalJSON(t *testing.T) {
b1, err1 := json.Marshal(Version{1, 0, 0})
expect.Nil(t, err1)
expect.Equal(t, string(b1), `"1.0.0"`)
b2, err2 := json.Marshal(Version{2, 0, 30})
expect.Nil(t, err2)
expect.Equal(t, string(b2), `"2.0.30"`)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:8,代码来源:version_test.go
示例7: TestScansQuotedIdentifier
func TestScansQuotedIdentifier(t *testing.T) {
scan, err := scanOnce(`"simple"`)
expect.Nil(t, err)
expect.Equal(t, scan.tok, token.QUOTED_IDENT)
expect.Equal(t, scan.pos, 0)
expect.Equal(t, scan.lit, `simple`)
scan, err = scanOnceWith("`simple`", Ruleset{BacktickIsQuotemark: true})
expect.Nil(t, err)
expect.Equal(t, scan.tok, token.QUOTED_IDENT)
expect.Equal(t, scan.pos, 0)
expect.Equal(t, scan.lit, `simple`)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:13,代码来源:scanner_test.go
示例8: TestParseErrors
func TestParseErrors(t *testing.T) {
examples := []struct {
Input string
Error string
}{
{Input: `mytable`,
Error: `sql:1:8: expected 'SELECT, INSERT, or UPDATE' but received 'Identifier'`},
{Input: `SELECT * WHERE`,
Error: `sql:1:15: expected 'FROM' but received 'WHERE'`},
{Input: `SELECT * FROM *`,
Error: `sql:1:16: expected 'a table name' but received '*'`},
{Input: "SELECT `mycolumn` FROM mytable", // backticks (w/ ansi ruleset)
Error: "sql:1:8: unexpected character U+0060 '`'"},
{Input: `SELECT DISTINCTROW * FROM mytable`, // distinctrow (w/ ansi ruleset)
Error: `sql:1:19: statement includes SELECT "DISTINCTROW", but CanSelectDistinctRow is false`},
{Input: `~`,
Error: `sql:1:1: unexpected character U+007E '~'`},
{Input: `SELECT * FROM foos; SELECT * FROM bars;`,
Error: `sql:1:27: statement does not end at semicolon`},
{Input: `SELECT * FROM mytable PROCEDURE compute(foo)`, // with HasLiteral
Error: `sql:1:32: cannot parse statement; reached unimplemented clause at 'PROCEDURE'`},
{Input: `SELECT * FROM mytable +`, // without HasLiteral
Error: `sql:1:24: cannot parse statement; reached unimplemented clause at '+'`},
}
for _, example := range examples {
parser := New([]byte(example.Input), Ruleset{})
stmt, err := parser.ParseStatement()
expect.Nil(t, stmt)
if expect.NotNil(t, err, "expected a parsing error") {
expect.Equal(t, err.Error(), example.Error)
}
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:34,代码来源:parser_test.go
示例9: TestTraceParser
func TestTraceParser(t *testing.T) {
output := bytes.Buffer{}
parser := New([]byte(`SELECT * FROM table_with_long_name WHERE ♫`), Ruleset{})
parser.Trace = &output
stmt, err := parser.ParseStatement()
expect.NotNil(t, err, "expected a parsing error")
expect.Nil(t, stmt)
expected := []string{
regexp.QuoteMeta(` SELECT : SELECT @ Parser.parseSelect:`) + "[0-9]+",
regexp.QuoteMeta(` : * @ Parser.parseSelect:`) + "[0-9]+",
regexp.QuoteMeta(` FROM : FROM @ Parser.parseSelect:`) + "[0-9]+",
regexp.QuoteMeta(` table_~ : Identifier @ Parser.parseSelect:`) + "[0-9]+",
regexp.QuoteMeta(` WHERE : WHERE @ Parser.parseSelect:`) + "[0-9]+",
regexp.QuoteMeta(` (error) sql:1:42: unexpected character U+266B '♫'`),
"$", // string ends with newline
}
// compare trace output, ignoring the source line numbers
lines := strings.Split(output.String(), "\n")
if expect.Equal(t, len(lines), len(expected)) {
maxSafe := utils.MinInt(len(expected), len(lines))
for i := 0; i < maxSafe; i++ {
expect.Regexp(t, lines[i], "^"+expected[i])
}
} else {
t.Log("Error:", err)
t.Log("Full trace output:\n", output.String())
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:31,代码来源:parser_test.go
示例10: TestUnmarshalJSON
func TestUnmarshalJSON(t *testing.T) {
examples := []struct {
Json string
Version Version
}{
{`"5.0.0"`, Version{5, 0, 0}},
{`"v2.4.12"`, Version{2, 4, 12}},
{`"3.5.0ab"`, Version{3, 5, 0}},
{`"8.22"`, Version{8, 22, 0}},
}
var v Version
for _, ex := range examples {
err := json.Unmarshal([]byte(ex.Json), &v)
expect.Nil(t, err, ex.Json)
expect.Equal(t, v, ex.Version, ex.Json)
}
badExamples := []struct {
Json string
Error string
}{
{`null`, "semver: cannot parse version from non-string JSON value"},
{`""`, "semver: json string is not a valid version"},
{`"bogus"`, "semver: json string is not a valid version"},
}
for _, ex := range badExamples {
err := json.Unmarshal([]byte(ex.Json), &v)
if expect.NotNil(t, err, ex.Json) {
expect.Equal(t, err.Error(), ex.Error, ex.Json)
}
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:34,代码来源:version_test.go
示例11: TestDriverUsage
func TestDriverUsage(t *testing.T) {
db, err := sql.Open("sqltest", "")
expect.Nil(t, err)
rows, err := db.Query("SELECT * FROM examples")
expect.Nil(t, err)
total := 0
for rows.Next() {
err := rows.Scan()
expect.Nil(t, err)
total += 1
}
err = rows.Close()
expect.Nil(t, err)
expect.Equal(t, total, 0)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:17,代码来源:driver_test.go
示例12: TestParseUpdate
func TestParseUpdate(t *testing.T) {
parser := New([]byte(`UPDATE mytable SET a = 1`), Ruleset{})
stmt, err := parser.ParseStatement()
expect.Nil(t, stmt)
if expect.NotNil(t, err) {
expect.Equal(t, err.Error(), `sql:1:15: cannot parse statement; reached unimplemented clause at 'mytable'`)
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:8,代码来源:parser_test.go
示例13: TestParseInsert
func TestParseInsert(t *testing.T) {
parser := New([]byte(`INSERT INTO mytable`), Ruleset{})
stmt, err := parser.ParseStatement()
expect.Nil(t, stmt)
if expect.NotNil(t, err) {
expect.Equal(t, err.Error(), `sql:1:20: cannot parse statement; reached unimplemented clause at 'mytable'`)
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:8,代码来源:parser_test.go
示例14: TestSqlParseError
func TestSqlParseError(t *testing.T) {
db, err := sql.Open("sqltest", "")
expect.Nil(t, err)
_, err = db.Query("SELECT * FROM")
expect.NotNil(t, err)
expect.Equal(t, err.Error(), "sql:1:14: expected 'a table name' but received 'End of statement'")
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:8,代码来源:driver_test.go
示例15: TestScanNullDate
func TestScanNullDate(t *testing.T) {
var rawTime = time.Date(2010, time.July, 3, 13, 24, 33, 999, time.UTC)
var mysqlTime = "2010-07-03 13:24:33"
var mysqlDate = "2010-07-03"
var byteTime = []byte(mysqlTime)
var byteDate = []byte(mysqlDate)
var notTime = 3
var n Date
var err error
err = n.Scan(rawTime)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Date.Year, 2010)
expect.Equal(t, n.Date.Month, time.July)
expect.Equal(t, n.Date.Day, 3)
err = n.Scan(mysqlTime)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = n.Scan(mysqlDate)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Date.Year, 2010)
expect.Equal(t, n.Date.Month, time.July)
expect.Equal(t, n.Date.Day, 3)
err = n.Scan(byteTime)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = n.Scan(byteDate)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Date.Year, 2010)
expect.Equal(t, n.Date.Month, time.July)
expect.Equal(t, n.Date.Day, 3)
err = n.Scan(notTime)
expect.NotNil(t, err)
expect.False(t, n.Valid)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:43,代码来源:null_test.go
示例16: TestScanPos
func TestScanPos(t *testing.T) {
var err *scanError
handleError := func(pos token.Position, msg string) {
err = &scanError{pos, msg}
}
var scan scanToken
s := Scanner{}
s.Init([]byte("CREATE TABLE\n candies\n()"), handleError, Ruleset{})
expect.Equal(t, s.Pos(), token.Position{"sql", 0, 1, 1})
expect.Nil(t, err)
scan.pos, scan.tok, scan.lit = s.Scan()
expect.Equal(t, s.Pos(), token.Position{"sql", 6, 1, 7})
expect.Nil(t, err)
scan.pos, scan.tok, scan.lit = s.Scan()
expect.Equal(t, s.Pos(), token.Position{"sql", 12, 1, 13})
expect.Nil(t, err)
scan.pos, scan.tok, scan.lit = s.Scan()
expect.Equal(t, s.Pos(), token.Position{"sql", 22, 2, 10})
expect.Nil(t, err)
scan.pos, scan.tok, scan.lit = s.Scan()
expect.Equal(t, s.Pos(), token.Position{"sql", 24, 3, 2})
expect.Nil(t, err)
scan.pos, scan.tok, scan.lit = s.Scan()
expect.Equal(t, s.Pos(), token.Position{"sql", 25, 3, 3})
expect.Nil(t, err)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:32,代码来源:scanner_test.go
示例17: TestScanNullUUID
func TestScanNullUUID(t *testing.T) {
// start with a null UUID and scan a typical UUID
{
expectedUUID := uuid.UUID{0x6b, 0xa7, 0xb8, 0x10, 0x9d, 0xad, 0x11, 0xd1, 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8}
stringUUID := "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
n := UUID{}
err := n.Scan(stringUUID)
expect.Nil(t, err, "error unmarshaling null.UUID")
expect.True(t, n.Valid, "null.UUID should be valid")
expect.Equal(t, n.UUID, expectedUUID, "UUIDs should be equal")
}
// start with some UUID, and scan nil
{
n := SomeUUID(uuid.UUID{0x6b, 0xa7, 0xb8, 0x10, 0x9d, 0xad, 0x11, 0xd1, 0x80, 0xb4, 0x00, 0xc0, 0x4f, 0xd4, 0x30, 0xc8})
err := n.Scan(nil)
expect.Nil(t, err, "error unmarshaling null.UUID")
expect.False(t, n.Valid, "null.UUID should not be valid")
expect.Equal(t, n.UUID, uuid.Nil, "null.UUID value should be equal to uuid.Nil")
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:22,代码来源:null_test.go
示例18: TestScannerNextCharacter
func TestScannerNextCharacter(t *testing.T) {
var err *scanError
err = scanAll("SELECT * FROM candies\r\n WHERE sweetness = 11\n\r\r")
expect.Nil(t, err)
err = scanAll(string([]byte{0x00, 0xFF}))
if expect.NotNil(t, err) {
expect.Equal(t, err.pos.Offset, 0)
expect.Equal(t, err.pos.Line, 1)
expect.Equal(t, err.pos.Column, 1)
expect.Equal(t, err.msg, `unexpected character U+0000`)
}
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:14,代码来源:scanner_test.go
示例19: TestUnmarshalNullInt
func TestUnmarshalNullInt(t *testing.T) {
var jsonNull string = `null`
var rationalFloat string = `12.22`
var roundedFloat string = `16.0`
var validZero string = `0`
var validNegative string = `-300`
var validPositive string = `1602525`
var n Int
var err error
err = json.Unmarshal([]byte(jsonNull), &n)
expect.Nil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(rationalFloat), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(roundedFloat), &n)
expect.NotNil(t, err)
expect.False(t, n.Valid)
err = json.Unmarshal([]byte(validZero), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Int, 0)
err = json.Unmarshal([]byte(validNegative), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Int, -300)
err = json.Unmarshal([]byte(validPositive), &n)
expect.Nil(t, err)
expect.True(t, n.Valid)
expect.Equal(t, n.Int, 1602525)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:37,代码来源:null_test.go
示例20: TestScansIdentifier
func TestScansIdentifier(t *testing.T) {
scan, err := scanOnce(`simple`)
expect.Nil(t, err)
expect.Equal(t, scan.tok, token.IDENT)
expect.Equal(t, scan.pos, 0)
expect.Equal(t, scan.lit, `simple`)
scan, err = scanOnce("sim$ple")
expect.Equal(t, scan.tok, token.IDENT)
expect.Equal(t, scan.pos, 0)
expect.Equal(t, scan.lit, `sim`)
scan, err = scanOnceWith("sim$ple", Ruleset{DollarIsLetter: true})
expect.Equal(t, scan.tok, token.IDENT)
expect.Equal(t, scan.pos, 0)
expect.Equal(t, scan.lit, `sim$ple`)
}
开发者ID:reflexionhealth,项目名称:vanilla,代码行数:17,代码来源:scanner_test.go
注:本文中的github.com/reflexionhealth/vanilla/expect.Nil函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论