It's now only generated if something to put in it is specified via: %pragma(php) include=... or %pragma(php) code=...
55 lines
1,021 B
PHP
55 lines
1,021 B
PHP
<?php
|
|
|
|
require "tests.php";
|
|
|
|
// No new functions
|
|
check::functions(array());
|
|
check::classes(array('Foo','A','A1','Bar','MyClass','MyClassT_i','ConstPtrClass'));
|
|
// No new vars
|
|
check::globals(array());
|
|
|
|
class PhpFoo extends Foo {
|
|
function ping() {
|
|
return "PhpFoo::ping()";
|
|
}
|
|
}
|
|
|
|
$a = new PhpFoo();
|
|
|
|
check::equal($a->ping(), "PhpFoo::ping()", "ping failed");
|
|
|
|
check::equal($a->pong(), "Foo::pong();PhpFoo::ping()", "pong failed");
|
|
|
|
$b = new Foo();
|
|
|
|
check::equal($b->ping(), "Foo::ping()", "ping failed");
|
|
|
|
check::equal($b->pong(), "Foo::pong();Foo::ping()", "pong failed");
|
|
|
|
$a = new A1(1);
|
|
|
|
check::equal($a->rg(2), 2, "rg failed");
|
|
|
|
class PhpClass extends MyClass {
|
|
function vmethod($b) {
|
|
$b->x = $b->x + 31;
|
|
return $b;
|
|
}
|
|
}
|
|
|
|
$b = new Bar(3);
|
|
$d = new MyClass();
|
|
$c = new PhpClass();
|
|
|
|
$cc = MyClass::get_self($c);
|
|
$dd = MyClass::get_self($d);
|
|
|
|
$bc = $cc->cmethod($b);
|
|
$bd = $dd->cmethod($b);
|
|
|
|
$cc->method($b);
|
|
|
|
check::equal($bc->x, 34, "bc failed");
|
|
check::equal($bd->x, 16, "bd failed");
|
|
|
|
check::done();
|