From e57e3eed1d2b5c1471d1af3c159f80e05e681bf2 Mon Sep 17 00:00:00 2001 From: Stefan Siegl Date: Sun, 29 Sep 2013 23:46:19 +0200 Subject: [PATCH] Add tests with multiple V8Js instances --- tests/multi-object.phpt | 43 +++++++++++++++++++++++++++++++++++++++++ tests/multi.phpt | 32 ++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 tests/multi-object.phpt create mode 100644 tests/multi.phpt diff --git a/tests/multi-object.phpt b/tests/multi-object.phpt new file mode 100644 index 0000000..e4995d7 --- /dev/null +++ b/tests/multi-object.phpt @@ -0,0 +1,43 @@ +--TEST-- +Test V8::executeString() : Use multiple V8js instances with objects +--SKIPIF-- + +--FILE-- +_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=== diff --git a/tests/multi.phpt b/tests/multi.phpt new file mode 100644 index 0000000..ff86907 --- /dev/null +++ b/tests/multi.phpt @@ -0,0 +1,32 @@ +--TEST-- +Test V8::executeString() : Use multiple V8js instances +--SKIPIF-- + +--FILE-- +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===