[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