assert_variation.phpt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. --TEST--
  2. assert() - variation - test callback options using ini_get/ini_set/assert_options
  3. --INI--
  4. assert.active = 1
  5. assert.warning = 0
  6. assert.callback = f1
  7. assert.bail = 0
  8. assert.quiet_eval = 0
  9. --FILE--
  10. <?php
  11. function f1()
  12. {
  13. echo "f1 called\n";
  14. }
  15. function f2()
  16. {
  17. echo "f2 called\n";
  18. }
  19. function f3()
  20. {
  21. echo "f3 called\n";
  22. }
  23. class c1
  24. {
  25. function assert($file, $line, $myev)
  26. {
  27. echo "Class assertion failed $line, \"$myev\"\n";
  28. }
  29. }
  30. echo "Initial values: assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
  31. echo "Initial values: ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
  32. $sa = "0 != 0";
  33. var_dump($r2=assert($sa));
  34. echo"\n";
  35. echo "Change callback function using ini.set and test return value \n";
  36. var_dump($rv = ini_set("assert.callback","f2"));
  37. echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
  38. echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
  39. var_dump($r2=assert($sa));
  40. echo"\n";
  41. echo "Change callback function using assert_options and test return value \n";
  42. var_dump($rv=assert_options(ASSERT_CALLBACK, "f3"));
  43. echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
  44. echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
  45. var_dump($r2=assert($sa));
  46. echo"\n";
  47. echo "Reset the name of the callback routine to a class method and check that it works\n";
  48. var_dump($rc=assert_options(ASSERT_CALLBACK, "c1"));
  49. echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
  50. echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
  51. var_dump($r2=assert($sa));
  52. echo"\n";
  53. echo "Reset callback options to use a class method \n";
  54. var_dump($rc = assert_options(ASSERT_CALLBACK,array("c1","assert")));
  55. var_dump($rao=assert_options(ASSERT_CALLBACK));
  56. echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n";
  57. var_dump($r2=assert($sa));
  58. echo"\n";
  59. echo "Reset callback options to use an object method \n";
  60. $o = new c1();
  61. var_dump($rc=assert_options(ASSERT_CALLBACK,array(&$o,"assert")));
  62. var_dump($rao=assert_options(ASSERT_CALLBACK));
  63. echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n";
  64. var_dump($r2=assert($sa));
  65. echo"\n";
  66. --EXPECTF--
  67. Initial values: assert_options(ASSERT_CALLBACK) => [f1]
  68. Initial values: ini.get("assert.callback") => [f1]
  69. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  70. f1 called
  71. bool(false)
  72. Change callback function using ini.set and test return value
  73. string(2) "f1"
  74. assert_options(ASSERT_CALLBACK) => [f2]
  75. ini.get("assert.callback") => [f2]
  76. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  77. f2 called
  78. bool(false)
  79. Change callback function using assert_options and test return value
  80. string(2) "f2"
  81. assert_options(ASSERT_CALLBACK) => [f3]
  82. ini.get("assert.callback") => [f2]
  83. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  84. f3 called
  85. bool(false)
  86. Reset the name of the callback routine to a class method and check that it works
  87. string(2) "f3"
  88. assert_options(ASSERT_CALLBACK) => [c1]
  89. ini.get("assert.callback") => [f2]
  90. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  91. bool(false)
  92. Reset callback options to use a class method
  93. string(2) "c1"
  94. array(2) {
  95. [0]=>
  96. string(2) "c1"
  97. [1]=>
  98. string(6) "assert"
  99. }
  100. ini.get("assert.callback") => [f2]
  101. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  102. Deprecated: Non-static method c1::assert() should not be called statically in %s on line 53
  103. Class assertion failed 53, "0 != 0"
  104. bool(false)
  105. Reset callback options to use an object method
  106. array(2) {
  107. [0]=>
  108. string(2) "c1"
  109. [1]=>
  110. string(6) "assert"
  111. }
  112. array(2) {
  113. [0]=>
  114. &object(c1)#1 (0) {
  115. }
  116. [1]=>
  117. string(6) "assert"
  118. }
  119. ini.get("assert.callback") => [f2]
  120. Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
  121. Class assertion failed 61, "0 != 0"
  122. bool(false)