0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-09-16 19:15:17 +00:00

Add tests with multiple V8Js instances

This commit is contained in:
Stefan Siegl 2013-09-29 23:46:19 +02:00
parent 35685ed96c
commit e57e3eed1d
2 changed files with 75 additions and 0 deletions

43
tests/multi-object.phpt Normal file
View File

@ -0,0 +1,43 @@
--TEST--
Test V8::executeString() : Use multiple V8js instances with objects
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
class TestClass {
protected $_instNo;
public function __construct($num) {
$this->_instNo = $num;
}
public function sayHello() {
echo 'Hello World! This is instance '.$this->_instNo."\n";
}
}
$instances = array();
for($i = 0; $i < 5; $i ++) {
$v8 = new V8Js();
$v8->test = new TestClass($i);
$instances[] = $v8;
}
$JS = <<< EOT
php.test.sayHello();
EOT;
foreach($instances as $v8) {
$v8->executeString($JS, 'basic.js');
}
?>
===EOF===
--EXPECT--
Hello World! This is instance 0
Hello World! This is instance 1
Hello World! This is instance 2
Hello World! This is instance 3
Hello World! This is instance 4
===EOF===

32
tests/multi.phpt Normal file
View File

@ -0,0 +1,32 @@
--TEST--
Test V8::executeString() : Use multiple V8js instances
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$instances = array();
for($i = 0; $i < 5; $i ++) {
$v8 = new V8Js();
$v8->executeString('var instNo = '.$i);
$instances[] = $v8;
}
$JS = <<< EOT
len = print('Hello' + ' ' + 'World! This is instance ' + instNo + "\\n");
len;
EOT;
foreach($instances as $v8) {
$v8->executeString($JS, 'basic.js');
}
?>
===EOF===
--EXPECT--
Hello World! This is instance 0
Hello World! This is instance 1
Hello World! This is instance 2
Hello World! This is instance 3
Hello World! This is instance 4
===EOF===