Return to assert_variation.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / assert |
1.1 misho 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: 36: echo "Change callback function using ini.set and test return value \n"; 37: var_dump($rv = ini_set("assert.callback","f2")); 38: echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n"; 39: echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n"; 40: var_dump($r2=assert($sa)); 41: echo"\n"; 42: 43: echo "Change callback function using assert_options and test return value \n"; 44: var_dump($rv=assert_options(ASSERT_CALLBACK, "f3")); 45: echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n"; 46: echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n"; 47: var_dump($r2=assert($sa)); 48: echo"\n"; 49: 50: 51: echo "Reset the name of the callback routine to a class method and check that it works\n"; 52: var_dump($rc=assert_options(ASSERT_CALLBACK, "c1")); 53: echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n"; 54: echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n"; 55: var_dump($r2=assert($sa)); 56: echo"\n"; 57: 58: echo "Reset callback options to use a class method \n"; 59: var_dump($rc = assert_options(ASSERT_CALLBACK,array("c1","assert"))); 60: var_dump($rao=assert_options(ASSERT_CALLBACK)); 61: echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n"; 62: var_dump($r2=assert($sa)); 63: echo"\n"; 64: 65: echo "Reset callback options to use an object method \n"; 66: $o = new c1(); 67: var_dump($rc=assert_options(ASSERT_CALLBACK,array(&$o,"assert"))); 68: var_dump($rao=assert_options(ASSERT_CALLBACK)); 69: echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n"; 70: var_dump($r2=assert($sa)); 71: echo"\n"; 72: 73: --EXPECTF-- 74: Initial values: assert_options(ASSERT_CALLBACK) => [f1] 75: Initial values: ini.get("assert.callback") => [f1] 76: f1 called 77: NULL 78: 79: Change callback function using ini.set and test return value 80: string(2) "f1" 81: assert_options(ASSERT_CALLBACK) => [f2] 82: ini.get("assert.callback") => [f2] 83: f2 called 84: NULL 85: 86: Change callback function using assert_options and test return value 87: string(2) "f2" 88: assert_options(ASSERT_CALLBACK) => [f3] 89: ini.get("assert.callback") => [f2] 90: f3 called 91: NULL 92: 93: Reset the name of the callback routine to a class method and check that it works 94: string(2) "f3" 95: assert_options(ASSERT_CALLBACK) => [c1] 96: ini.get("assert.callback") => [f2] 97: NULL 98: 99: Reset callback options to use a class method 100: string(2) "c1" 101: array(2) { 102: [0]=> 103: string(2) "c1" 104: [1]=> 105: string(6) "assert" 106: } 107: ini.get("assert.callback") => [f2] 108: 109: 110: Strict Standards: Non-static method c1::assert() should not be called statically in %s on line 53 111: Class assertion failed 53, "0 != 0" 112: NULL 113: 114: Reset callback options to use an object method 115: array(2) { 116: [0]=> 117: string(2) "c1" 118: [1]=> 119: string(6) "assert" 120: } 121: array(2) { 122: [0]=> 123: &object(c1)#1 (0) { 124: } 125: [1]=> 126: string(6) "assert" 127: } 128: ini.get("assert.callback") => [f2] 129: 130: Class assertion failed 61, "0 != 0" 131: NULL