Annotation of embedaddon/php/Zend/tests/traits/bug60717.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #60717 (Order of traits in use statement can cause unexpected unresolved abstract method)
                      3: --FILE--
                      4: <?php
                      5: 
                      6: namespace HTML
                      7: {
                      8:        interface Helper
                      9:        {
                     10:                function text($text);
                     11:                function attributes(array $attributes = null);
                     12:                function textArea(array $attributes = null, $value);
                     13:        }
                     14: 
                     15:        trait TextUTF8
                     16:        {
                     17:                function text($text) {}
                     18:        }
                     19: 
                     20:        trait TextArea
                     21:        {
                     22:                function textArea(array $attributes = null, $value) {}
                     23:                abstract function attributes(array $attributes = null);
                     24:                abstract function text($text);
                     25:        }
                     26: 
                     27:        trait HTMLAttributes
                     28:        {
                     29:                function attributes(array $attributes = null) { }
                     30:                abstract function text($text);
                     31:        }
                     32: 
                     33:        class HTMLHelper implements Helper
                     34:        {
                     35:                use TextArea, HTMLAttributes, TextUTF8;
                     36:        }
                     37:        
                     38:        class HTMLHelper2 implements Helper
                     39:        {
                     40:                use TextArea, TextUTF8, HTMLAttributes;
                     41:        }
                     42:        
                     43:        class HTMLHelper3 implements Helper
                     44:        {
                     45:                use HTMLAttributes, TextArea, TextUTF8;
                     46:        }
                     47: 
                     48:        class HTMLHelper4 implements Helper
                     49:        {
                     50:                use HTMLAttributes, TextUTF8, TextArea;
                     51:        }
                     52:        
                     53:        class HTMLHelper5 implements Helper
                     54:        {
                     55:                use TextUTF8, TextArea, HTMLAttributes;
                     56:        }
                     57:        
                     58:        class HTMLHelper6 implements Helper
                     59:        {
                     60:                use TextUTF8, HTMLAttributes, TextArea;
                     61:        }       
                     62: 
                     63:        $o = new HTMLHelper;
                     64:     $o = new HTMLHelper2;
                     65:     $o = new HTMLHelper3;
                     66:     $o = new HTMLHelper4;
                     67:     $o = new HTMLHelper5;
                     68:     $o = new HTMLHelper6;
                     69:     echo 'Done';
                     70: }
                     71: 
                     72: --EXPECT--
                     73: Done

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