Stefan Siegl 5 år sedan
förälder
incheckning
5f7bf9900b
1 ändrade filer med 49 tillägg och 0 borttagningar
  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===
+