~ubuntu-branches/ubuntu/oneiric/swig1.3/oneiric

« back to all changes in this revision

Viewing changes to Examples/test-suite/php/director_finalizer_runme.php

  • Committer: Bazaar Package Importer
  • Author(s): Benjamin Drung
  • Date: 2009-11-15 14:00:28 UTC
  • mfrom: (1.2.9 upstream) (2.1.4 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091115140028-me7amr2rie8zz1xn
Tags: 1.3.40-2ubuntu1
* Merge from Debian testing (LP: #356529), remaining changes:
  - Drop libchicken-dev from the build-depends (it's in universe)
  - Remove Pike from package description and from configure flags
  - drop "--without-mzscheme", we don't have it in our build-depends
  - use php-config5
  - Clean Runtime/ as well.
  - debian/rules (clean): Remove Lib/ocaml/swigp4.ml.
* debian/rules: Remove hardcoded python version.
* Remove upper limit for python from Build-Depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
require "tests.php";
 
4
require "director_finalizer.php";
 
5
 
 
6
// No new functions
 
7
check::functions(array(foo_orstatus,deletefoo,getstatus,launder,resetstatus));
 
8
// No new classes
 
9
check::classes(array(director_finalizer,Foo));
 
10
// now new vars
 
11
check::globals(array());
 
12
 
 
13
class MyFoo extends Foo {
 
14
  function __destruct() {
 
15
    $this->orStatus(2);
 
16
    if (method_exists(parent, "__destruct")) {
 
17
      parent::__destruct();
 
18
    }
 
19
  }
 
20
}
 
21
 
 
22
resetStatus();
 
23
 
 
24
$a = new MyFoo();
 
25
unset($a);
 
26
 
 
27
check::equal(getStatus(), 3, "getStatus() failed #1");
 
28
 
 
29
resetStatus();
 
30
 
 
31
$a = new MyFoo();
 
32
launder($a);
 
33
 
 
34
check::equal(getStatus(), 0, "getStatus() failed #2");
 
35
 
 
36
unset($a);
 
37
 
 
38
check::equal(getStatus(), 3, "getStatus() failed #3");
 
39
 
 
40
resetStatus();
 
41
 
 
42
$a = new MyFoo();
 
43
$a->thisown = 0;
 
44
deleteFoo($a);
 
45
unset($a);
 
46
 
 
47
check::equal(getStatus(), 3, "getStatus() failed #4");
 
48
 
 
49
resetStatus();
 
50
 
 
51
$a = new MyFoo();
 
52
$a->thisown = 0;
 
53
deleteFoo(launder($a));
 
54
unset($a);
 
55
 
 
56
check::equal(getStatus(), 3, "getStatus() failed #5");
 
57
 
 
58
resetStatus();
 
59
 
 
60
check::done();
 
61
?>