summaryrefslogtreecommitdiff
path: root/ext/xml/tests/xml_parse_into_struct_variation.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/tests/xml_parse_into_struct_variation.phpt')
-rw-r--r--ext/xml/tests/xml_parse_into_struct_variation.phpt120
1 files changed, 120 insertions, 0 deletions
diff --git a/ext/xml/tests/xml_parse_into_struct_variation.phpt b/ext/xml/tests/xml_parse_into_struct_variation.phpt
new file mode 100644
index 0000000..a353e51
--- /dev/null
+++ b/ext/xml/tests/xml_parse_into_struct_variation.phpt
@@ -0,0 +1,120 @@
+--TEST--
+Test xml_parse_into_struct() function : variation
+--SKIPIF--
+<?php
+if (!extension_loaded("xml")) {
+ print "skip - XML extension not loaded";
+}
+?>
+--FILE--
+<?php
+/* Prototype : proto int xml_parse_into_struct(resource parser, string data, array &struct, array &index)
+ * Description: Parsing a XML document
+ * Source code: ext/xml/xml.c
+ * Alias to functions:
+ */
+
+echo "*** Testing xml_parse_into_struct() : variation ***\n";
+
+$simple = "<main><para><note>simple note</note></para><para><note>simple note</note></para></main>";
+$p = xml_parser_create();
+xml_parse_into_struct($p, $simple, $vals, $index);
+xml_parser_free($p);
+echo "Index array\n";
+print_r($index);
+echo "\nVals array\n";
+print_r($vals);
+
+
+echo "Done";
+?>
+--EXPECT--
+*** Testing xml_parse_into_struct() : variation ***
+Index array
+Array
+(
+ [MAIN] => Array
+ (
+ [0] => 0
+ [1] => 7
+ )
+
+ [PARA] => Array
+ (
+ [0] => 1
+ [1] => 3
+ [2] => 4
+ [3] => 6
+ )
+
+ [NOTE] => Array
+ (
+ [0] => 2
+ [1] => 5
+ )
+
+)
+
+Vals array
+Array
+(
+ [0] => Array
+ (
+ [tag] => MAIN
+ [type] => open
+ [level] => 1
+ )
+
+ [1] => Array
+ (
+ [tag] => PARA
+ [type] => open
+ [level] => 2
+ )
+
+ [2] => Array
+ (
+ [tag] => NOTE
+ [type] => complete
+ [level] => 3
+ [value] => simple note
+ )
+
+ [3] => Array
+ (
+ [tag] => PARA
+ [type] => close
+ [level] => 2
+ )
+
+ [4] => Array
+ (
+ [tag] => PARA
+ [type] => open
+ [level] => 2
+ )
+
+ [5] => Array
+ (
+ [tag] => NOTE
+ [type] => complete
+ [level] => 3
+ [value] => simple note
+ )
+
+ [6] => Array
+ (
+ [tag] => PARA
+ [type] => close
+ [level] => 2
+ )
+
+ [7] => Array
+ (
+ [tag] => MAIN
+ [type] => close
+ [level] => 1
+ )
+
+)
+Done \ No newline at end of file