From 492f87cd5bc34b50837294aa3663c6b72b48ce65 Mon Sep 17 00:00:00 2001
From: Stefan Siegl <stesie@brokenpipe.de>
Date: Sun, 19 Oct 2014 14:48:11 +0000
Subject: [PATCH] Test exception branch of php_v8js_v8_has_property.

---
 tests/has_property_after_dispose.phpt | 38 +++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 tests/has_property_after_dispose.phpt

diff --git a/tests/has_property_after_dispose.phpt b/tests/has_property_after_dispose.phpt
new file mode 100644
index 0000000..7c0ea3c
--- /dev/null
+++ b/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===
+