Browse Source

Test exception branch of php_v8js_v8_has_property.

Stefan Siegl 10 năm trước cách đây
mục cha
commit
492f87cd5b
1 tập tin đã thay đổi với 38 bổ sung0 xóa
  1. 38 0
      tests/has_property_after_dispose.phpt

+ 38 - 0
tests/has_property_after_dispose.phpt

@@ -0,0 +1,38 @@
+--TEST--
+Test V8::executeString() : has_property after dispose
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+class Foo {
+	function callMe($x) {
+		var_dump(property_exists($x, 'bla'));
+		$this->x = $x;
+	}
+}
+
+$v8 = new V8Js();
+$v8->foo = $foo = new Foo();
+
+$JS = <<< EOT
+PHP.foo.callMe({ bla: 23 });
+
+EOT;
+
+$v8->executeString($JS, 'basic.js');
+unset($v8);
+
+try {
+	var_dump(property_exists($foo->x, 'bla'));
+}
+catch(V8JsScriptException $e) {
+	var_dump($e->getMessage());
+}
+?>
+===EOF===
+--EXPECTF--
+bool(true)
+string(55) "Can't access V8Object after V8Js instance is destroyed!"
+===EOF===
+