@@ -243,9 +243,9 @@ public function testIsLastPipelineOperatorWrite(callable $cast): void
243243 }
244244
245245 /** @dataProvider providePipelines */
246- public function testIsPipeline ($ expected , $ pipeline ): void
246+ public function testIsPipeline ($ expected , $ pipeline, $ allowEmpty = false ): void
247247 {
248- $ this ->assertSame ($ expected , is_pipeline ($ pipeline ));
248+ $ this ->assertSame ($ expected , is_pipeline ($ pipeline, $ allowEmpty ));
249249 }
250250
251251 public function providePipelines (): array
@@ -286,6 +286,9 @@ public function providePipelines(): array
286286 'invalid pipeline element type: Serializable ' => [false , new BSONArray ([new BSONArray ([])])],
287287 'invalid pipeline element type: PackedArray ' => [false , PackedArray::fromPHP ([[]])],
288288 // Empty array has no pipeline stages
289+ 'valid empty: array ' => [true , [], true ],
290+ 'valid empty: Serializable ' => [true , new BSONArray ([]), true ],
291+ 'valid empty: PackedArray ' => [true , PackedArray::fromPHP ([]), true ],
289292 'invalid empty: array ' => [false , []],
290293 'invalid empty: Serializable ' => [false , new BSONArray ([])],
291294 'invalid empty: PackedArray ' => [false , PackedArray::fromPHP ([])],
0 commit comments