Skip to content

Commit 49e34f6

Browse files
authored
Merge pull request #314 from chrisirhc/patch-1
WIP: Fix WillReturnRows(nil) in expectations_go18.go
2 parents 6bed17c + f3575cd commit 49e34f6

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

expectations_go18.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func (e *ExpectedQuery) WillReturnRows(rows ...*Rows) *ExpectedQuery {
1717
sets := make([]*Rows, len(rows))
1818
for i, r := range rows {
1919
sets[i] = r
20-
if r.def != nil {
20+
if r != nil && r.def != nil {
2121
defs++
2222
}
2323
}

expectations_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,27 @@ func TestExecWithNoArgsAndWithArgsPanic(t *testing.T) {
123123
mock := &sqlmock{}
124124
mock.ExpectExec("^INSERT INTO user").WithArgs("John").WithoutArgs()
125125
}
126+
127+
128+
func TestQueryWillReturnsNil(t *testing.T) {
129+
t.Parallel()
130+
131+
db, mock, err := New()
132+
if err != nil {
133+
t.Fatal(err)
134+
}
135+
defer db.Close()
136+
137+
defer func() {
138+
if err := recover(); err != nil {
139+
t.Error(err)
140+
}
141+
}()
142+
143+
mock.ExpectQuery("SELECT (.+) FROM users WHERE (.+)").WithArgs("test").WillReturnRows(nil)
144+
query := "SELECT name, email FROM users WHERE name = ?"
145+
_, err = mock.(*sqlmock).Query(query, []driver.Value{"test"})
146+
if err != nil {
147+
t.Error(err)
148+
}
149+
}

0 commit comments

Comments
 (0)