1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<?php
/**
* Test: Nette\Utils\Iterables::toIterator()
*/
declare(strict_types=1);
use Nette\Utils\Iterables;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
test('converts array into iterator', function () {
$arr = ['Nette', 'Framework'];
$tmp = [];
foreach (Iterables::toIterator($arr) as $k => $v) {
$tmp[] = "$k => $v";
}
Assert::same([
'0 => Nette',
'1 => Framework',
], $tmp);
});
test('preserves ArrayIterator instance', function () {
$arr = new ArrayIterator(['Nette', 'Framework']);
$tmp = [];
foreach (Iterables::toIterator($arr) as $k => $v) {
$tmp[] = "$k => $v";
}
Assert::same([
'0 => Nette',
'1 => Framework',
], $tmp);
});
test('converts ArrayObject to ArrayIterator', function () {
$arr = new ArrayObject(['Nette', 'Framework']);
Assert::type(ArrayIterator::class, Iterables::toIterator($arr));
$tmp = [];
foreach (Iterables::toIterator($arr) as $k => $v) {
$tmp[] = "$k => $v";
}
Assert::same([
'0 => Nette',
'1 => Framework',
], $tmp);
});
|