2012-04-27 16:26:15 +00:00
|
|
|
--TEST--
|
|
|
|
Test V8::executeString() : Dynamic closure call test
|
|
|
|
--SKIPIF--
|
|
|
|
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
class Foo
|
|
|
|
{
|
|
|
|
public static function bar($s)
|
|
|
|
{
|
|
|
|
return 'Hello ' . $s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$a = new V8Js();
|
|
|
|
$b = array('Foo', 'bar');
|
|
|
|
$a->func = function ($arg) use ($b) { return call_user_func($b, $arg); };
|
|
|
|
|
|
|
|
try {
|
|
|
|
$a->executeString('print(PHP.func + "\n"); print(PHP.func("world") + "\n");', "closure_test.js");
|
2013-04-13 23:36:31 +00:00
|
|
|
} catch (V8JsScriptException $e) {
|
2012-04-27 16:26:15 +00:00
|
|
|
echo $e->getMessage(), "\n";
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
===EOF===
|
2020-08-21 08:10:56 +00:00
|
|
|
--EXPECTF--
|
|
|
|
[object %s]
|
2012-04-27 16:26:15 +00:00
|
|
|
Hello world
|
|
|
|
===EOF===
|