[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
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