@@ -157,5 +157,25 @@ func TestCursor(t *testing.T) {
157
157
assert .Nil (t , err , "All error: %v" , err )
158
158
assert .True (t , tbc .closed , "expected batch cursor to be closed but was not" )
159
159
})
160
+
161
+ t .Run ("does not error given interface as parameter" , func (t * testing.T ) {
162
+ var docs interface {} = []bson.D {}
163
+
164
+ cursor , err := newCursor (newTestBatchCursor (1 , 5 ), nil )
165
+ assert .Nil (t , err , "newCursor error: %v" , err )
166
+
167
+ err = cursor .All (context .Background (), & docs )
168
+ assert .Nil (t , err , "expected Nil, got error: %v" , err )
169
+ assert .Equal (t , 5 , len (docs .([]bson.D )), "expected 5 documents, got %v" , len (docs .([]bson.D )))
170
+ })
171
+ t .Run ("errors when not given pointer to slice" , func (t * testing.T ) {
172
+ var docs interface {} = "test"
173
+
174
+ cursor , err := newCursor (newTestBatchCursor (1 , 5 ), nil )
175
+ assert .Nil (t , err , "newCursor error: %v" , err )
176
+
177
+ err = cursor .All (context .Background (), & docs )
178
+ assert .NotNil (t , err , "expected error, got: %v" , err )
179
+ })
160
180
})
161
181
}
0 commit comments