trait Tlf\Lexer\Test\Directives\Classes

Constants

Properties

  • `protected $_class_tests = [

      'Class.InNamespace'=>[
          'ast.type''file',
          'start''php_code'],
          'input'"namespace Abc; class Def {}",
          'expect'=>[
              'namespace'=>[
                  'type''namespace',
                  'name''Abc',
                  'declaration''namespace Abc;',
                  'class'=>[
                      0=>[
                          'type''class',
                          'namespace''Abc',
                          'fqn''Abc\\Def',
                          'name''Def',
                          'declaration''class Def',
                      ],
                  ],
              ],
          ]
      ],
    
      'Class.Final.EmptyBody'=>[
          'ast.type''file',
          'start''php_code'],
          'input'"final class Abc {\n\n}",
          'expect'=>[
              'namespace''',
              'class'=>[
                  0=>[
                      'type''class',
                      'modifiers''final'],
                      'name''Abc',
                      'declaration''final class Abc',
                  ],
              ],
          ]
      ],
    
      'Class.Implements'=>[
          'is_bad_test'"We don't yet catch what interfaces a class implements. We just shove it in the declaration",
          'ast.type''namespace',
          'start''php_code'],
          'input''class Abc extends \Def\Ghi implements iAbc, iDef {',
          'expect'=>[
              'class'=>[
                  0=>[
                  'type''class',
                  'name''Abc',
                  'extends''\Def\Ghi',
                  'declaration'=> 'class Abc extends \Def\Ghi implements iAbc, iDef',
                  ],
              ],
          ],
      ],
    
      'Class.Extends'=>[
          'ast.type''namespace',
          'start''php_code'],
          'input''class Abc extends \Def\Ghi {',
          'expect'=>[
              'class'=>[
                  0=>[
                  'type''class',
                  'name''Abc',
                  'extends''\Def\Ghi',
                  'declaration'=> 'class Abc extends \Def\Ghi',
                  ],
              ],
          ],
      ],
      'Class.Abstract'=>[
          'ast.type''namespace',
          'start''php_code'],
          'input''abstract class Abc {',
          'expect'=>[
              'class'=>[
                  0=>[
                  'type''class',
                  'modifiers''abstract'],
                  'name''Abc',
                  'declaration'=> 'abstract class Abc',
                  ],
              ],
          ],
      ],
      'Class.OpenInFile'=>[
          'ast.type''file',
          'start''php_code'],
          'input''class Abc {',
          'expect'=>[
              'namespace''',
              'class'=>[
                  0=>[
                  'type''class',
                  'name''Abc',
                  'declaration'=> 'class Abc',
                  ],
              ]
          ],
      ],
      'Class.OpenInNamespace'=>[
          'ast.type''namespace',
          'start''php_code'],
          'input''class Abc {',
          'expect'=>[
              'class'=>[
                  0=>[
                  'type''class',
                  'name''Abc',
                  'declaration'=> 'class Abc',
                  ],
              ],
          ],
      ],
    

    ];`

Methods