|
@@ -0,0 +1,43 @@
|
|
|
|
+--TEST--
|
|
|
|
+Test V8::executeString() : DOM object passed from PHP
|
|
|
|
+--SKIPIF--
|
|
|
|
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
|
|
|
|
+--FILE--
|
|
|
|
+<?php
|
|
|
|
+
|
|
|
|
+$JS = <<< EOT
|
|
|
|
+print('js1: ', PHP.test.length, "\\n");
|
|
|
|
+var elements = PHP.dom.getElementsByTagName('node');
|
|
|
|
+print('js2: ', elements.length, "\\n");
|
|
|
|
+var node = elements.item(0);
|
|
|
|
+print("hasChildNodes: "); var_dump(node.hasChildNodes());
|
|
|
|
+print("hasAttribute('class'): "); var_dump(node.hasAttribute('class'));
|
|
|
|
+//var_dump(node);
|
|
|
|
+EOT;
|
|
|
|
+
|
|
|
|
+$dom = new DomDocument();
|
|
|
|
+$dom->loadXML('<node class="test"/>');
|
|
|
|
+
|
|
|
|
+$elements = $dom->getElementsByTagName('node');
|
|
|
|
+echo 'php: ', $elements->length, "\n";
|
|
|
|
+$node = $elements->item(0);
|
|
|
|
+echo "hasChildNodes: "; var_dump($node->hasChildNodes());
|
|
|
|
+echo "hasAttribute('class'): "; var_dump($node->hasAttribute('class'));
|
|
|
|
+//var_dump($node);
|
|
|
|
+
|
|
|
|
+$a = new V8Js();
|
|
|
|
+$a->dom = $dom;
|
|
|
|
+$a->test = array( 'length' => 1 );
|
|
|
|
+$a->executeString($JS, "test.js");
|
|
|
|
+
|
|
|
|
+?>
|
|
|
|
+===EOF===
|
|
|
|
+--EXPECT--
|
|
|
|
+php: 1
|
|
|
|
+hasChildNodes: bool(false)
|
|
|
|
+hasAttribute('class'): bool(true)
|
|
|
|
+js1: 1
|
|
|
|
+js2: 1
|
|
|
|
+hasChildNodes: bool(false)
|
|
|
|
+hasAttribute('class'): bool(true)
|
|
|
|
+===EOF===
|