mirror of
https://github.com/php/php-src.git
synced 2025-01-22 11:44:09 +08:00
Added test case for bug #21961
This commit is contained in:
parent
be83a02b8c
commit
aded4d818a
56
tests/lang/bug21961.phpt
Normal file
56
tests/lang/bug21961.phpt
Normal file
@ -0,0 +1,56 @@
|
||||
--TEST--
|
||||
Bug #21961 (get_parent_class() segfault)
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
class man
|
||||
{
|
||||
var $name, $bars;
|
||||
function man()
|
||||
{
|
||||
$this->name = 'Mr. X';
|
||||
$this->bars = array();
|
||||
}
|
||||
|
||||
function getdrunk($where)
|
||||
{
|
||||
$this->bars[] = new bar($where);
|
||||
}
|
||||
|
||||
function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
}
|
||||
|
||||
class bar extends man
|
||||
{
|
||||
var $name;
|
||||
|
||||
function bar($w)
|
||||
{
|
||||
$this->name = $w;
|
||||
}
|
||||
|
||||
function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
function whosdrunk()
|
||||
{
|
||||
$who = get_parent_class($this);
|
||||
if($who == NULL)
|
||||
{
|
||||
return 'nobody';
|
||||
}
|
||||
return eval($who.'::getName()');
|
||||
}
|
||||
}
|
||||
|
||||
$x = new man;
|
||||
$x->getdrunk('The old Tavern');
|
||||
var_dump($x->bars[0]->whosdrunk());
|
||||
?>
|
||||
--EXPECT--
|
||||
string(14) "The old Tavern"
|
Loading…
Reference in New Issue
Block a user