Annotation of embedaddon/php/ext/spl/tests/class_uses_basic2.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: SPL: Test class_uses() function : basic 
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array class_uses(mixed what [, bool autoload ])
                      6:  * Description: Return all traits used by a class
                      7:  * Source code: ext/spl/php_spl.c
                      8:  * Alias to functions: 
                      9:  */
                     10: 
                     11: echo "*** Testing class_uses() : basic ***\n";
                     12: 
                     13: 
                     14: trait foo { }
                     15: class fooUser { use foo; }
                     16: 
                     17: trait bar { }
                     18: class barUser { use bar; }
                     19: 
                     20: class foobarUser { use foo, bar; }
                     21: 
                     22: /** There is no semantics for traits in the inheritance chain.
                     23:     Traits are flattend into a class, and that semantics is nothing
                     24:     like a type, or interface, and thus, not propergated. */
                     25: class fooViaBarUser extends barUser { use foo; }
                     26: 
                     27: class fooExtended extends fooUser {}
                     28: 
                     29: s_var_dump(class_uses(new foobarUser));
                     30: s_var_dump(class_uses('foobarUser'));
                     31: s_var_dump(class_uses(new fooViaBarUser));
                     32: s_var_dump(class_uses('fooViaBarUser'));
                     33: s_var_dump(class_uses(new fooExtended));
                     34: s_var_dump(class_uses('fooExtended'));
                     35: 
                     36: 
                     37: function s_var_dump($arr) {
                     38:    krsort($arr);
                     39:    var_dump($arr);
                     40: }
                     41: ?>
                     42: ===DONE===
                     43: --EXPECT--
                     44: *** Testing class_uses() : basic ***
                     45: array(2) {
                     46:   ["foo"]=>
                     47:   string(3) "foo"
                     48:   ["bar"]=>
                     49:   string(3) "bar"
                     50: }
                     51: array(2) {
                     52:   ["foo"]=>
                     53:   string(3) "foo"
                     54:   ["bar"]=>
                     55:   string(3) "bar"
                     56: }
                     57: array(1) {
                     58:   ["foo"]=>
                     59:   string(3) "foo"
                     60: }
                     61: array(1) {
                     62:   ["foo"]=>
                     63:   string(3) "foo"
                     64: }
                     65: array(0) {
                     66: }
                     67: array(0) {
                     68: }
                     69: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>