/trunk/Examples/test-suite/php/director_finalizer_runme.php
# · PHP · 61 lines · 39 code · 19 blank · 3 comment · 1 complexity · 2de66e03dd6b755e76bb3d40295a6c34 MD5 · raw file
- <?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();
- ?>