xml_set_object_variation2.phpt 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. --TEST--
  2. Test xml_set_object() function : usage variations
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("xml")) {
  6. print "skip - XML extension not loaded";
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. /* Prototype : proto int xml_set_object(resource parser, object &obj)
  12. * Description: Set up object which should be used for callbacks
  13. * Source code: ext/xml/xml.c
  14. * Alias to functions:
  15. */
  16. echo "*** Testing xml_set_object() : usage variations ***\n";
  17. error_reporting(E_ALL & ~E_NOTICE);
  18. // Initialise function arguments not being substituted (if any)
  19. $parser = xml_parser_create();
  20. $fp = fopen(__FILE__, "r");
  21. //get an unset variable
  22. $unset_var = 10;
  23. unset ($unset_var);
  24. //array of values to iterate over
  25. $values = array(
  26. // int data
  27. 0,
  28. 1,
  29. 12345,
  30. -2345,
  31. // float data
  32. 10.5,
  33. -10.5,
  34. 10.1234567e10,
  35. 10.7654321E-10,
  36. .5,
  37. // array data
  38. array(),
  39. array(0),
  40. array(1),
  41. array(1, 2),
  42. array('color' => 'red', 'item' => 'pen'),
  43. // null data
  44. NULL,
  45. null,
  46. // boolean data
  47. true,
  48. false,
  49. TRUE,
  50. FALSE,
  51. // empty data
  52. "",
  53. '',
  54. // string data
  55. "string",
  56. 'string',
  57. // resource data
  58. $fp,
  59. // undefined data
  60. $undefined_var,
  61. // unset data
  62. $unset_var,
  63. );
  64. // loop through each element of the array for obj
  65. foreach($values as $value) {
  66. echo @"\nArg value $value \n";
  67. var_dump( xml_set_object($parser, $value) );
  68. };
  69. xml_parser_free($parser);
  70. fclose($fp);
  71. echo "Done";
  72. ?>
  73. --EXPECTF--
  74. *** Testing xml_set_object() : usage variations ***
  75. Arg value 0
  76. Warning: xml_set_object() expects parameter 2 to be object, int given in %s on line %d
  77. NULL
  78. Arg value 1
  79. Warning: xml_set_object() expects parameter 2 to be object, int given in %s on line %d
  80. NULL
  81. Arg value 12345
  82. Warning: xml_set_object() expects parameter 2 to be object, int given in %s on line %d
  83. NULL
  84. Arg value -2345
  85. Warning: xml_set_object() expects parameter 2 to be object, int given in %s on line %d
  86. NULL
  87. Arg value 10.5
  88. Warning: xml_set_object() expects parameter 2 to be object, float given in %s on line %d
  89. NULL
  90. Arg value -10.5
  91. Warning: xml_set_object() expects parameter 2 to be object, float given in %s on line %d
  92. NULL
  93. Arg value 101234567000
  94. Warning: xml_set_object() expects parameter 2 to be object, float given in %s on line %d
  95. NULL
  96. Arg value 1.07654321E-9
  97. Warning: xml_set_object() expects parameter 2 to be object, float given in %s on line %d
  98. NULL
  99. Arg value 0.5
  100. Warning: xml_set_object() expects parameter 2 to be object, float given in %s on line %d
  101. NULL
  102. Arg value Array
  103. Warning: xml_set_object() expects parameter 2 to be object, array given in %s on line %d
  104. NULL
  105. Arg value Array
  106. Warning: xml_set_object() expects parameter 2 to be object, array given in %s on line %d
  107. NULL
  108. Arg value Array
  109. Warning: xml_set_object() expects parameter 2 to be object, array given in %s on line %d
  110. NULL
  111. Arg value Array
  112. Warning: xml_set_object() expects parameter 2 to be object, array given in %s on line %d
  113. NULL
  114. Arg value Array
  115. Warning: xml_set_object() expects parameter 2 to be object, array given in %s on line %d
  116. NULL
  117. Arg value
  118. Warning: xml_set_object() expects parameter 2 to be object, null given in %s on line %d
  119. NULL
  120. Arg value
  121. Warning: xml_set_object() expects parameter 2 to be object, null given in %s on line %d
  122. NULL
  123. Arg value 1
  124. Warning: xml_set_object() expects parameter 2 to be object, bool given in %s on line %d
  125. NULL
  126. Arg value
  127. Warning: xml_set_object() expects parameter 2 to be object, bool given in %s on line %d
  128. NULL
  129. Arg value 1
  130. Warning: xml_set_object() expects parameter 2 to be object, bool given in %s on line %d
  131. NULL
  132. Arg value
  133. Warning: xml_set_object() expects parameter 2 to be object, bool given in %s on line %d
  134. NULL
  135. Arg value
  136. Warning: xml_set_object() expects parameter 2 to be object, string given in %s on line %d
  137. NULL
  138. Arg value
  139. Warning: xml_set_object() expects parameter 2 to be object, string given in %s on line %d
  140. NULL
  141. Arg value string
  142. Warning: xml_set_object() expects parameter 2 to be object, string given in %s on line %d
  143. NULL
  144. Arg value string
  145. Warning: xml_set_object() expects parameter 2 to be object, string given in %s on line %d
  146. NULL
  147. Arg value Resource id %s
  148. Warning: xml_set_object() expects parameter 2 to be object, resource given in %s on line %d
  149. NULL
  150. Arg value
  151. Warning: xml_set_object() expects parameter 2 to be object, null given in %s on line %d
  152. NULL
  153. Arg value
  154. Warning: xml_set_object() expects parameter 2 to be object, null given in %s on line %d
  155. NULL
  156. Done