[prev in list] [next in list] [prev in thread] [next in thread]
List: pecl-cvs
Subject: [PECL-CVS] com pecl/languages/v8js: Add test on ArrayAccess live binding: =?UTF-8?Q?tests/array=5Fac
From: Stefan Siegl <stesie () php ! net>
Date: 2014-11-29 12:25:01
Message-ID: php-mail-3c204bcddf6faf097894a87ac6ea45991320883081 () git ! php ! net
[Download RAW message or body]
Commit: 1b64a92c8d1ecd8ef248c7777c17ca2e766adaab
Author: Stefan Siegl <stesie@brokenpipe.de> Sat, 29 Nov 2014 13:25:01 \
+0100
Parents: ff194ba6c195b6d4598de39e91aa46943e25fe0d
Branches: master
Link: http://git.php.net/?p=pecl/languages/v8js.git;a=commitdiff;h=1b64a92c8d1ecd8ef248c7777c17ca2e766adaab
Log:
Add test on ArrayAccess live binding
Changed paths:
A tests/array_access_001.phpt
Diff:
diff --git a/tests/array_access_001.phpt b/tests/array_access_001.phpt
new file mode 100644
index 0000000..dd92bbd
--- /dev/null
+++ b/tests/array_access_001.phpt
@@ -0,0 +1,52 @@
+--TEST--
+Test V8::executeString() : Check ArrayAccess live binding
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--INI--
+v8js.use_array_access = 1
+--FILE--
+<?php
+
+class MyArray implements ArrayAccess, Countable {
+ private $data = Array('one', 'two', 'three');
+
+ public function offsetExists($offset) {
+ return isset($this->data[$offset]);
+ }
+
+ public function offsetGet($offset) {
+ return $this->data[$offset];
+ }
+
+ public function offsetSet($offset, $value) {
+ $this->data[$offset] = $value;
+ }
+
+ public function offsetUnset($offset) {
+ throw new Exception('Not implemented');
+ }
+
+ public function count() {
+ return count($this->data);
+ }
+
+ public function push($value) {
+ $this->data[] = $value;
+ }
+}
+
+$v8 = new V8Js();
+$v8->myarr = new MyArray();
+
+$v8->executeString('var_dump(PHP.myarr.join(","));');
+
+/* array is "live bound", i.e. new elements just pop up on js side. */
+$v8->myarr->push('new');
+$v8->executeString('var_dump(PHP.myarr.join(","));');
+
+?>
+===EOF===
+--EXPECT--
+string(13) "one,two,three"
+string(17) "one,two,three,new"
+===EOF===
--
PECL CVS Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic