diff options
-rwxr-xr-x | ext/simplexml/tests/006.phpt | 41 | ||||
-rwxr-xr-x | ext/simplexml/tests/006.xml | 24 | ||||
-rwxr-xr-x | ext/simplexml/tests/sxe.dtd | 7 |
3 files changed, 70 insertions, 2 deletions
diff --git a/ext/simplexml/tests/006.phpt b/ext/simplexml/tests/006.phpt new file mode 100755 index 0000000000..ac7c77e91c --- /dev/null +++ b/ext/simplexml/tests/006.phpt @@ -0,0 +1,41 @@ +--TEST-- +SimpleXML and foreach +--SKIPIF-- +<?php if (!extension_loaded("simplexml")) print "skip"; ?> +--FILE-- +<?php + +$sxe = simplexml_load_file(dirname(__FILE__).'/006.xml'); + +foreach($sxe as $name => $data) { + var_dump($name); + var_dump(trim($data)); +} + +foreach($sxe->__clone() as $name => $data) { + var_dump($name); + var_dump(trim($data)); +} + +foreach($sxe->elem1 as $name => $data) { + var_dump($name); + var_dump(trim($data)); +} + +echo "===Done===\n"; + +?> +--EXPECT-- +string(5) "elem1" +string(10) "Bla bla 1." +string(6) "elem11" +string(10) "Bla bla 2." +string(5) "elem1" +string(10) "Bla bla 1." +string(6) "elem11" +string(10) "Bla bla 2." +string(7) "comment" +string(0) "" +string(5) "elem2" +string(28) "Here we have some text data." +===Done=== diff --git a/ext/simplexml/tests/006.xml b/ext/simplexml/tests/006.xml new file mode 100755 index 0000000000..d8d93debde --- /dev/null +++ b/ext/simplexml/tests/006.xml @@ -0,0 +1,24 @@ +<?xml version='1.0'?> +<!DOCTYPE sxe SYSTEM "notfound.dtd" [ +<!ENTITY % incent SYSTEM "sxe.ent"> +%incent; +]> +<sxe id="elem1"> + Plain text. + <elem1 attr1='first'> + Bla bla 1. + <!-- comment --> + <elem2> + Here we have some text data. + <elem3> + And here some more. + <elem4> + Wow once again. + </elem4> + </elem3> + </elem2> + </elem1> + <elem11 attr2='second'> + Bla bla 2. + </elem11> +</sxe>
\ No newline at end of file diff --git a/ext/simplexml/tests/sxe.dtd b/ext/simplexml/tests/sxe.dtd index 66b0369335..8a8dde4308 100755 --- a/ext/simplexml/tests/sxe.dtd +++ b/ext/simplexml/tests/sxe.dtd @@ -1,7 +1,7 @@ <?xml encoding='US-ASCII'?>
-<!ELEMENT sxe elem1>
-<!ATTLIST sxe id>
+<!ELEMENT sxe elem1, elem 11>
+<!ATTLIST sxe id CDATA #implied>
<!ELEMENT elem1 elem2>
<!ATTLIST elem1 attr1 CDATA #required
@@ -16,3 +16,6 @@ <!ELEMENT elem4 EMPTY>
<!ATTLIST elem4>
+<!ELEMENT elem11 EMPTY>
+<!ATTLIST elem11>
+
|