⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bug37457.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--Bug #37457 (Crash when an exception is thrown in accept() method of FilterIterator)--SKIPIF--<?php if (!extension_loaded("spl")) print "skip"; ?>--FILE--<?phpclass Collection implements Iterator{	protected $array, $valid = false;		public function __construct(array $a)	{		echo __METHOD__ . "\n";		$this->array = $a;	}		public function current()	{		echo __METHOD__ . "\n";		return current($this->array);	}	public function key()	{		echo __METHOD__ . "\n";		return key($this->array);	}	public function next()	{		echo __METHOD__ . "\n";		$this->valid = (false !== next($this->array));	}	public function valid()	{		echo __METHOD__ . "\n";		return $this->valid;	}	public function rewind()	{		echo __METHOD__ . "\n";		$this->valid = (false !== reset($this->array));	}}class TestFilter extends FilterIterator{    public function accept()    {		echo __METHOD__ . "\n";    	throw new Exception("Failure in Accept");    }}$test = new TestFilter(new Collection(array(0)));try{	foreach ($test as $item)	{		echo $item;	}}catch (Exception $e){	var_dump($e->getMessage());}?>===DONE===--EXPECTF--Collection::__constructCollection::rewindCollection::validCollection::currentCollection::keyTestFilter::acceptstring(17) "Failure in Accept"===DONE===--UEXPECTF--Collection::__constructCollection::rewindCollection::validCollection::currentCollection::keyTestFilter::acceptunicode(17) "Failure in Accept"===DONE===

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -