summaryrefslogtreecommitdiff
path: root/ext/simplexml/tests/024.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/simplexml/tests/024.phpt
downloadphp2-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/simplexml/tests/024.phpt')
-rw-r--r--ext/simplexml/tests/024.phpt175
1 files changed, 175 insertions, 0 deletions
diff --git a/ext/simplexml/tests/024.phpt b/ext/simplexml/tests/024.phpt
new file mode 100644
index 0000000..9f31fd5
--- /dev/null
+++ b/ext/simplexml/tests/024.phpt
@@ -0,0 +1,175 @@
+--TEST--
+SimpleXML: XPath and attributes
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
+--FILE--
+<?php
+
+$xml =<<<EOF
+<?xml version='1.0'?>
+<root>
+<elem attr1='11' attr2='12' attr3='13'/>
+<elem attr1='21' attr2='22' attr3='23'/>
+<elem attr1='31' attr2='32' attr3='33'/>
+</root>
+EOF;
+
+$sxe = simplexml_load_string($xml);
+
+function test($xpath)
+{
+ global $sxe;
+
+ echo "===$xpath===\n";
+ var_dump($sxe->xpath($xpath));
+}
+
+test('elem/@attr2');
+test('//@attr2');
+test('//@*');
+test('elem[2]/@attr2');
+
+?>
+===DONE===
+--EXPECTF--
+===elem/@attr2===
+array(3) {
+ [0]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "12"
+ }
+ }
+ [1]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "22"
+ }
+ }
+ [2]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "32"
+ }
+ }
+}
+===//@attr2===
+array(3) {
+ [0]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "12"
+ }
+ }
+ [1]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "22"
+ }
+ }
+ [2]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "32"
+ }
+ }
+}
+===//@*===
+array(9) {
+ [0]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr1"]=>
+ string(2) "11"
+ }
+ }
+ [1]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "12"
+ }
+ }
+ [2]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr3"]=>
+ string(2) "13"
+ }
+ }
+ [3]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr1"]=>
+ string(2) "21"
+ }
+ }
+ [4]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "22"
+ }
+ }
+ [5]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr3"]=>
+ string(2) "23"
+ }
+ }
+ [6]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr1"]=>
+ string(2) "31"
+ }
+ }
+ [7]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "32"
+ }
+ }
+ [8]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr3"]=>
+ string(2) "33"
+ }
+ }
+}
+===elem[2]/@attr2===
+array(1) {
+ [0]=>
+ object(SimpleXMLElement)#%d (1) {
+ ["@attributes"]=>
+ array(1) {
+ ["attr2"]=>
+ string(2) "22"
+ }
+ }
+}
+===DONE===