git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11434 626c5289-ae23-0410-ae9c-e8d60b6d4f22
55 lines
1.1 KiB
PHP
55 lines
1.1 KiB
PHP
<?php
|
|
|
|
require "tests.php";
|
|
require "director_detect.php";
|
|
|
|
// No new functions
|
|
check::functions(array(foo_cloner,foo_get_value,foo_get_class,foo_just_do_it,bar_baseclass,bar_cloner,bar_get_value,bar_get_class,bar_just_do_it));
|
|
// No new classes
|
|
check::classes(array(A,Foo,Bar));
|
|
// now new vars
|
|
check::globals(array());
|
|
|
|
class MyBar extends Bar {
|
|
function __construct($val = 2) {
|
|
parent::__construct();
|
|
$this->val = $val;
|
|
}
|
|
|
|
function get_value() {
|
|
$this->val = $this->val + 1;
|
|
return $this->val;
|
|
}
|
|
|
|
function get_class() {
|
|
$this->val = $this->val + 1;
|
|
return new A();
|
|
}
|
|
|
|
function just_do_it() {
|
|
$this->val = $this->val + 1;
|
|
}
|
|
|
|
/* clone is a reserved keyword */
|
|
function clone_() {
|
|
return new MyBar($this->val);
|
|
}
|
|
}
|
|
|
|
$b = new MyBar();
|
|
|
|
$f = $b->baseclass();
|
|
|
|
$v = $f->get_value();
|
|
$a = $f->get_class();
|
|
$f->just_do_it();
|
|
|
|
$c = $b->clone_();
|
|
$vc = $c->get_value();
|
|
|
|
check::equal($v, 3, "f: Bad virtual detection");
|
|
check::equal($b->val, 5, "b: Bad virtual detection");
|
|
check::equal($vc, 6, "c: Bad virtual detection");
|
|
|
|
check::done();
|
|
?>
|