diff options
Diffstat (limited to 'Examples/test-suite/php5/director_classic_runme.php')
-rw-r--r-- | Examples/test-suite/php5/director_classic_runme.php | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/Examples/test-suite/php5/director_classic_runme.php b/Examples/test-suite/php5/director_classic_runme.php deleted file mode 100644 index d2da1b1ba..000000000 --- a/Examples/test-suite/php5/director_classic_runme.php +++ /dev/null @@ -1,150 +0,0 @@ -<?php - -require "tests.php"; -require "director_classic.php"; - -// No new functions -check::functions(array(being_id,person_id,child_id,grandchild_id,caller_delcallback,caller_setcallback,caller_resetcallback,caller_call,caller_baseclass)); -// No new classes -check::classes(array(Being,Person,Child,GrandChild,OrphanPerson,OrphanChild,Caller)); -// now new vars -check::globals(array()); - -class TargetLangPerson extends Person { - function id() { - $identifier = "TargetLangPerson"; - return $identifier; - } -} - -class TargetLangChild extends Child { - function id() { - $identifier = "TargetLangChild"; - return $identifier; - } -} - -class TargetLangGrandChild extends GrandChild { - function id() { - $identifier = "TargetLangGrandChild"; - return $identifier; - } -} - -# Semis - don't override id() in target language -class TargetLangSemiPerson extends Person { - # No id() override -} - -class TargetLangSemiChild extends Child { - # No id() override -} - -class TargetLangSemiGrandChild extends GrandChild { - # No id() override -} - -# Orphans - don't override id() in C++ -class TargetLangOrphanPerson extends OrphanPerson { - function id() { - $identifier = "TargetLangOrphanPerson"; - return $identifier; - } -} - -class TargetLangOrphanChild extends OrphanChild { - function id() { - $identifier = "TargetLangOrphanChild"; - return $identifier; - } -} - -function mycheck($person, $expected) { - $debug = 0; - # Normal target language polymorphic call - $ret = $person->id(); - if ($debug) - print $ret . "\n"; - check::equal($ret, $expected, "#1 failed"); - - # Polymorphic call from C++ - $caller = new Caller(); - $caller->setCallback($person); - $ret = $caller->call(); - if ($debug) - print $ret . "\n"; - check::equal($ret, $expected, "#2 failed"); - - # Polymorphic call of object created in target language and passed to - # C++ and back again - $baseclass = $caller->baseClass(); - $ret = $baseclass->id(); - if ($debug) - print $ret . "\n"; - # TODO: Currently we do not track the dynamic type of returned - # objects, so in case it's possible that the dynamic type is not equal - # to the static type, we skip this check. - if (get_parent_class($person) === false) - check::equal($ret, $expected, "#3 failed"); - - $caller->resetCallback(); - if ($debug) - print "----------------------------------------\n"; -} - -$person = new Person(); -mycheck($person, "Person"); -unset($person); - -$person = new Child(); -mycheck($person, "Child"); -unset($person); - -$person = new GrandChild(); -mycheck($person, "GrandChild"); -unset($person); - -$person = new TargetLangPerson(); -mycheck($person, "TargetLangPerson"); -unset($person); - -$person = new TargetLangChild(); -mycheck($person, "TargetLangChild"); -unset($person); - -$person = new TargetLangGrandChild(); -mycheck($person, "TargetLangGrandChild"); -unset($person); - -# Semis - don't override id() in target language -$person = new TargetLangSemiPerson(); -mycheck($person, "Person"); -unset($person); - -$person = new TargetLangSemiChild(); -mycheck($person, "Child"); -unset($person); - -$person = new TargetLangSemiGrandChild(); -mycheck($person, "GrandChild"); -unset($person); - -# Orphans - don't override id() in C++ -$person = new OrphanPerson(); -mycheck($person, "Person"); -unset($person); - -$person = new OrphanChild(); -mycheck($person, "Child"); -unset($person); - -$person = new TargetLangOrphanPerson(); -mycheck($person, "TargetLangOrphanPerson"); -unset($person); - -$person = new TargetLangOrphanChild(); -mycheck($person, "TargetLangOrphanChild"); -unset($person); - -check::done(); -?> |