[php] Add runmes for more director testcases
This commit is contained in:
parent
7b929dce82
commit
5656da3f31
3 changed files with 92 additions and 0 deletions
16
Examples/test-suite/php/cpp11_final_directors_runme.php
Normal file
16
Examples/test-suite/php/cpp11_final_directors_runme.php
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
require "tests.php";
|
||||
|
||||
// No new functions
|
||||
check::functions(array());
|
||||
check::classes(array('Base','BaseFinalDestructor','BaseFinalDestructor2','Derived'));
|
||||
// No new vars
|
||||
check::globals(array());
|
||||
|
||||
class Derived2 extends Derived {
|
||||
function meth() { return 3; }
|
||||
}
|
||||
|
||||
$b = new Derived2();
|
||||
check::equal($b->meth(), 3, "Wrong return value");
|
||||
24
Examples/test-suite/php/director_ignore_runme.php
Normal file
24
Examples/test-suite/php/director_ignore_runme.php
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
<?php
|
||||
|
||||
require "tests.php";
|
||||
|
||||
// No new functions
|
||||
check::functions(array());
|
||||
check::classes(array('DAbstractIgnores','DIgnores','DTemplateAbstractIgnoresInt','DIgnoreConstructor','DIgnoreOnlyConstructor','DIgnoreDestructor'));
|
||||
// No new vars
|
||||
check::globals(array());
|
||||
|
||||
class DIgnoresDerived extends DIgnores {
|
||||
function PublicMethod1() {
|
||||
return 18.75;
|
||||
}
|
||||
}
|
||||
|
||||
class DAbstractIgnoresDerived extends DAbstractIgnores {
|
||||
}
|
||||
|
||||
$a = new DIgnoresDerived();
|
||||
check::equal($a->Triple(5), 15, "Wrong return value");
|
||||
|
||||
$b = new DAbstractIgnoresDerived();
|
||||
check::equal($b->Quadruple(5), 20, "Wrong return value");
|
||||
52
Examples/test-suite/php/director_wombat_runme.php
Normal file
52
Examples/test-suite/php/director_wombat_runme.php
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
require "tests.php";
|
||||
|
||||
// No new functions
|
||||
check::functions(array());
|
||||
check::classes(array('Bar', 'Foo_integers'));
|
||||
// No new vars
|
||||
check::globals(array());
|
||||
|
||||
// Test base class functionality
|
||||
$barObj = new Bar();
|
||||
|
||||
// Bar::meth should return a Foo_integers instance
|
||||
$fooIntsObj = $barObj->meth();
|
||||
check::equal(get_class($fooIntsObj), "Foo_integers", "wrong class");
|
||||
|
||||
check::equal($fooIntsObj->meth(42) , 42, "Foo_integers::meth(n) should return n");
|
||||
|
||||
//
|
||||
// Now subclass Foo_integers, but override its virtual method
|
||||
// meth(n) so that it returns the number plus one.
|
||||
//
|
||||
class MyFooInts extends Foo_integers {
|
||||
function meth($n) {
|
||||
return $n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Subclass Bar and override its virtual method meth()
|
||||
// so that it returns a new MyFooInts instance instead of
|
||||
// a Foo_integers instance.
|
||||
//
|
||||
class MyBar extends Bar {
|
||||
function meth() {
|
||||
return new MyFooInts();
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Now repeat previous tests:
|
||||
//
|
||||
// Create a MyBar instance...
|
||||
//
|
||||
$barObj = new MyBar();
|
||||
|
||||
// MyBar::meth should return a MyFooInts instance
|
||||
$fooIntsObj = $barObj->meth();
|
||||
check::equal(get_class($fooIntsObj), "MyFooInts", "wrong class");
|
||||
|
||||
check::equal($fooIntsObj->meth(42) , 43, "MyFooInts::meth(n) should return n + 1");
|
||||
Loading…
Add table
Add a link
Reference in a new issue