Explorar o código

add test, refs #410

Stefan Siegl %!s(int64=6) %!d(string=hai) anos
pai
achega
5f7bf9900b
Modificáronse 1 ficheiros con 49 adicións e 0 borrados
  1. 49 0
      tests/issue_410_basic.phpt

+ 49 - 0
tests/issue_410_basic.phpt

@@ -0,0 +1,49 @@
+--TEST--
+Test V8::executeString() : Method access from multiple derived classes
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+class BaseClass {
+        public function bla() {
+            printf('print bla, called class: %s' . PHP_EOL, get_called_class());
+        }
+}
+
+class Foo extends BaseClass {}
+
+class Bar extends BaseClass {}
+
+$v8 = new V8Js('PHP');
+$v8->Foo = new Foo();
+$v8->Bar = new Bar();
+
+$code = <<<EOT
+var_dump(PHP.Foo);
+PHP.Foo.bla();
+var_dump(PHP.Bar);
+PHP.Bar.bla();
+EOT;
+
+$v8->executeString($code);
+
+?>
+===EOF===
+--EXPECTF--
+object(Foo)#%d (1) {
+  ["bla"] =>
+  object(Closure)#%d {
+      function () { [native code] }
+  }
+}
+print bla, called class: Foo
+object(Bar)#%d (1) {
+  ["bla"] =>
+  object(Closure)#%d {
+      function () { [native code] }
+  }
+}
+print bla, called class: Bar
+===EOF===
+