| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | --TEST--Test V8::executeString() : test context preserving--SKIPIF--<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>--FILE--<?php$JS_set = <<< EOTvar preserved = "ORIGINAL";print("Set variable (" + PHP.ctx + ")\\n");EOT;$JS_change = <<< EOTpreserved = "CHANGED";print("Change variable (" + PHP.ctx + ")\\n");EOT;$JS_read = <<< EOTprint("Read variable (" + PHP.ctx + ")\\n");print("Result: " + preserved + "\\n");EOT;// First context: Set variable$a = new V8Js();$a->ctx = '#1';try {	echo '1. ';	$a->executeString($JS_set, 'set.js');} catch (V8JsScriptException $e) {	var_dump($e);}// Second context: Change variable$b = new V8Js();$b->ctx = '#2';try {	echo '2. ';	$b->executeString($JS_change, 'change.js');} catch (V8JsScriptException $e) {	var_dump($e);}// First context: Read variabletry {	echo '3. ';	$a->executeString($JS_read, 'read.js');} catch (V8JsScriptException $e) {	var_dump($e);}// First context: Change variabletry {	echo '4. ';	$a->executeString($JS_change, 'change.js');} catch (V8JsScriptException $e) {	var_dump($e);}// First context: Read variable againtry {	echo '5. ';	$a->executeString($JS_read, 'read.js');} catch (V8JsScriptException $e) {	var_dump($e);}?>===EOF===--EXPECT--1. Set variable (#1)2. Change variable (#2)3. Read variable (#1)Result: ORIGINAL4. Change variable (#1)5. Read variable (#1)Result: CHANGED===EOF===
 |