/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/bug77263.phpt
40 строк
987 B
Máté Kocsis
Declare tentative return types in ext/spl - part 3 (#7239)
16 июл 2021, 13:09
Не верифицирован
16 июл 2021, 13:09
b3e0888
Код
Авторство
О чём код?
--TEST-- Bug #77263 (Segfault when using 2 RecursiveFilterIterator) --FILE-- <?php $dir = __DIR__ . '/bug77263'; mkdir($dir); mkdir("$dir/subdir"); touch("$dir/file1"); touch("$dir/subdir/file2"); class Filter1 extends RecursiveFilterIterator { public function accept(): bool { return $this->getInnerIterator()->getSubPathname() != ''; } } class Filter2 extends RecursiveFilterIterator { public function accept(): bool { return $this->getInnerIterator()->getSubPathname() != ' '; } } $iterator = new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS ); $iterator = new Filter1( $iterator ); $iterator = new Filter2( $iterator ); $iterator = new RecursiveIteratorIterator( $iterator, RecursiveIteratorIterator::LEAVES_ONLY, RecursiveIteratorIterator::CATCH_GET_CHILD ); foreach ( $iterator as $item ) { } ?> OK --CLEAN-- <?php $dir = __DIR__ . '/bug77263'; unlink("$dir/file1"); unlink("$dir/subdir/file2"); rmdir("$dir/subdir"); rmdir($dir); ?> --EXPECT-- OK