/trunk/Examples/test-suite/php/director_finalizer_runme.php
PHP | 61 lines | 39 code | 19 blank | 3 comment | 1 complexity | 2de66e03dd6b755e76bb3d40295a6c34 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- <?php
- require "tests.php";
- require "director_finalizer.php";
- // No new functions
- check::functions(array(foo_orstatus,deletefoo,getstatus,launder,resetstatus));
- // No new classes
- check::classes(array(director_finalizer,Foo));
- // now new vars
- check::globals(array());
- class MyFoo extends Foo {
- function __destruct() {
- $this->orStatus(2);
- if (method_exists(parent, "__destruct")) {
- parent::__destruct();
- }
- }
- }
- resetStatus();
- $a = new MyFoo();
- unset($a);
- check::equal(getStatus(), 3, "getStatus() failed #1");
- resetStatus();
- $a = new MyFoo();
- launder($a);
- check::equal(getStatus(), 0, "getStatus() failed #2");
- unset($a);
- check::equal(getStatus(), 3, "getStatus() failed #3");
- resetStatus();
- $a = new MyFoo();
- $a->thisown = 0;
- deleteFoo($a);
- unset($a);
- check::equal(getStatus(), 3, "getStatus() failed #4");
- resetStatus();
- $a = new MyFoo();
- $a->thisown = 0;
- deleteFoo(launder($a));
- unset($a);
- check::equal(getStatus(), 3, "getStatus() failed #5");
- resetStatus();
- check::done();
- ?>