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>