diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/dom/tests/domxpath.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/dom/tests/domxpath.phpt')
-rw-r--r-- | ext/dom/tests/domxpath.phpt | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/ext/dom/tests/domxpath.phpt b/ext/dom/tests/domxpath.phpt new file mode 100644 index 0000000..82396b5 --- /dev/null +++ b/ext/dom/tests/domxpath.phpt @@ -0,0 +1,58 @@ +--TEST-- +DOMXPath Tests +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php +require_once("dom_test.inc"); + +function MyAverage($nodelist) { + $count = 0; + $val = 0; + foreach ($nodelist AS $node) { + $count++; + $val += $node->textContent; + } + if ($val > 0) { + return $val/$count; + } else { + return 0; + } +} + +$dom = new DOMDocument; +$dom->loadXML(b'<root xmlns="urn::default"><child>myval</child></root>'); + +$xpath = new DOMXPath($dom); + +$xpath->registerPHPFunctions('MyAverage'); +$xpath->registerNamespace("php", "http://php.net/xpath"); + +$xpath->registerNamespace("def", "urn::default"); +$nodelist = $xpath->query("//def:child"); +if ($node = $nodelist->item(0)) { + print $node->textContent."\n"; +} + +$count = $xpath->evaluate("count(//def:child)"); + +var_dump($count); + +$xpathdoc = $xpath->document; + +var_dump($xpathdoc instanceof DOMDocument); + +$root = $dom->documentElement; +$root->appendChild($dom->createElementNS("urn::default", "testnode", 3)); +$root->appendChild($dom->createElementNS("urn::default", "testnode", 4)); +$root->appendChild($dom->createElementNS("urn::default", "testnode", 4)); +$root->appendChild($dom->createElementNS("urn::default", "testnode", 5)); + +$avg = $xpath->evaluate('number(php:function("MyAverage", //def:testnode))'); +var_dump($avg); +?> +--EXPECT-- +myval +float(1) +bool(true) +float(4)
\ No newline at end of file |