--TEST-- MongoDB\Driver\Cursor does not allow iterating multiple times (foreach) --SKIPIF-- --FILE-- insert(array('_id' => $i)); } $writeResult = $manager->executeBulkWrite(NS, $bulkWrite); printf("Inserted: %d\n", $writeResult->getInsertedCount()); $cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query(array())); echo "\nFirst foreach statement:\n"; foreach ($cursor as $document) { var_dump($document); } echo "\nSecond foreach statement:\n"; echo throws(function () use ($cursor) { foreach ($cursor as $document) { echo "FAILED: get_iterator should not yield multiple iterators\n"; } }, MongoDB\Driver\Exception\LogicException::class), "\n"; ?> ===DONE=== --EXPECTF-- Inserted: 3 First foreach statement: object(stdClass)#%d (1) { ["_id"]=> int(0) } object(stdClass)#%d (1) { ["_id"]=> int(1) } object(stdClass)#%d (1) { ["_id"]=> int(2) } Second foreach statement: OK: Got MongoDB\Driver\Exception\LogicException Cursors cannot rewind after starting iteration ===DONE===