Annotation of embedaddon/php/ext/filter/tests/029.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: filter_var() and FILTER_CALLBACK
3: --SKIPIF--
4: <?php if (!extension_loaded("filter")) die("skip"); ?>
5: --FILE--
6: <?php
7:
8: /* Simple callback function */
9: function test($var) {
10: return strtoupper($var);
11: }
12:
13: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test")));
14: var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test")));
15: var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test")));
16: var_dump(filter_var("qwe", FILTER_CALLBACK, array("options"=>"no such func")));
17: var_dump(filter_var("qwe", FILTER_CALLBACK, array("options"=>"")));
18: var_dump(filter_var("qwe", FILTER_CALLBACK));
19:
20: /* Simple class method callback */
21: class test_class {
22: static function test ($var) {
23: return strtolower($var);
24: }
25: }
26:
27: var_dump(filter_var("dAtA", FILTER_CALLBACK, array("options"=>array("test_class", "test"))));
28: var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>array("test_class","test"))));
29: var_dump(filter_var("", FILTER_CALLBACK, array("options"=>array("test_class","test"))));
30:
31: /* empty function without return value */
32: function test1($var) {
33: }
34:
35: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test1")));
36: var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test1")));
37: var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test1")));
38:
39: /* attempting to change data by reference */
40: function test2(&$var) {
41: $var = 1;
42: }
43:
44: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test2")));
45: var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test2")));
46: var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test2")));
47:
48: /* unsetting data */
49: function test3(&$var) {
50: unset($var);
51: }
52:
53: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test3")));
54: var_dump(filter_var("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FILTER_CALLBACK, array("options"=>"test3")));
55: var_dump(filter_var("", FILTER_CALLBACK, array("options"=>"test3")));
56:
57: /* unset data and return value */
58: function test4(&$var) {
59: unset($var);
60: return 1;
61: }
62:
63: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test4")));
64:
65: /* thrown exception in the callback */
66: function test5(&$var) {
67: throw new Exception("test");
68: }
69:
70: try {
71: var_dump(filter_var("data", FILTER_CALLBACK, array("options"=>"test5")));
72: } catch (Exception $e) {
73: var_dump($e->getMessage());
74: }
75:
76: echo "Done\n";
77: ?>
78: --EXPECTF--
79: string(4) "DATA"
80: string(46) "~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?"}{:"
81: string(0) ""
82:
83: Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
84: NULL
85:
86: Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
87: NULL
88:
89: Warning: filter_var(): First argument is expected to be a valid callback in %s on line %d
90: NULL
91: string(4) "data"
92: string(46) "~!@#$%^&*()_qwertyuiopasdfghjklzxcvbnm<>>?"}{:"
93: string(0) ""
94: NULL
95: NULL
96: NULL
97: NULL
98: NULL
99: NULL
100: NULL
101: NULL
102: NULL
103: int(1)
104: string(4) "test"
105: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>