summaryrefslogtreecommitdiff
path: root/Examples/test-suite/php/director_detect_runme.php
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2009-08-18 20:56:02 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-25 16:59:08 +0000
commit9f8a09ed743cedd9547bf0661d518647966ab114 (patch)
tree9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/test-suite/php/director_detect_runme.php
downloadswig-tarball-master.tar.gz
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/test-suite/php/director_detect_runme.php')
-rw-r--r--Examples/test-suite/php/director_detect_runme.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/Examples/test-suite/php/director_detect_runme.php b/Examples/test-suite/php/director_detect_runme.php
new file mode 100644
index 0000000..cc19c03
--- /dev/null
+++ b/Examples/test-suite/php/director_detect_runme.php
@@ -0,0 +1,55 @@
+<?php
+
+require "tests.php";
+require "director_detect.php";
+
+// No new functions
+check::functions(array(foo_cloner,foo_get_value,foo_get_class,foo_just_do_it,bar_baseclass,bar_cloner,bar_get_value,bar_get_class,bar_just_do_it));
+// No new classes
+check::classes(array(A,Foo,Bar));
+// now new vars
+check::globals(array());
+
+class MyBar extends Bar {
+ function __construct($val = 2) {
+ parent::__construct();
+ $this->val = $val;
+ }
+
+ function get_value() {
+ $this->val = $this->val + 1;
+ return $this->val;
+ }
+
+ function get_class() {
+ $this->val = $this->val + 1;
+ return new A();
+ }
+
+ function just_do_it() {
+ $this->val = $this->val + 1;
+ }
+
+ /* clone is a reserved keyword */
+ function clone_() {
+ return new MyBar($this->val);
+ }
+}
+
+$b = new MyBar();
+
+$f = $b->baseclass();
+
+$v = $f->get_value();
+$a = $f->get_class();
+$f->just_do_it();
+
+$c = $b->clone_();
+$vc = $c->get_value();
+
+check::equal($v, 3, "f: Bad virtual detection");
+check::equal($b->val, 5, "b: Bad virtual detection");
+check::equal($vc, 6, "c: Bad virtual detection");
+
+check::done();
+?>