tests.php
<?php
/**
* Directives to test.
*
* See Tester clsas for details on how these are structured.
*/
return [
'Docblock.AttributeStalls'=>[
'is_bad_test'=>'Good test: tests when a docblock contains an @attribute followed by whitespace on one line, then an @attribute on the next line, causing the program to stall & output nothing',
// 'ast.type'=>'class_body',
'start'=>['/*'],
'input'=>
"/**\n* @one \n* @two okay \n*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"",
'attribute'=>[
0=>[
'type'=>'attribute',
'name'=>'one',
'description'=>'',
],
1=>[
'type'=>'attribute',
'name'=>'two',
'description'=>'okay',
],
],
],
]
],
'Docblock.Empty'=>[
'start'=>['/*'],
'input'=>"/**\n *\n */",
'expect.previous'=>[
"docblock"=>[
'type'=>'docblock',
'description'=>'',
]
]
],
'Docblock.MultilineWithGaps'=>[
'start'=>['/*'],
'input'=>"/**\n *\n * first \n * \n * \n * second \n * \n * \n */",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"first \n\n\nsecond ",
],
],
],
'Docblock.SameNameAttributes'=>[
'start'=>['/*'],
'input'=>" /*\n* abc \n* @cat attr-describe\n still describing def"
."\n * \n*\n @cat (did) a thing\n*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>" abc ",
'attribute'=>[
0=>[
'type'=>'attribute',
'name'=>'cat',
'description'=>"attr-describe\n still describing def",
],
1=>[
'type'=>'attribute',
'name'=>'cat',
'description'=>"(did) a thing",
],
],
],
],
],
'Docblock.TwoAttributes'=>[
'start'=>['/*'],
'input'=>" /*\n* abc \n* @def attr-describe\n still describing def"
."\n * \n*\n @cat (did) a thing\n*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>" abc ",
'attribute'=>[
0=>[
'type'=>'attribute',
'name'=>'def',
'description'=>"attr-describe\n still describing def",
],
1=>[
'type'=>'attribute',
'name'=>'cat',
'description'=>"(did) a thing",
],
],
],
],
],
'Docblock.WithAttribute'=>[
'start'=>['/*'],
'input'=>" /*\n* abc \n* @def attr-describe\n still describing def*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"abc ",
'attribute'=>[
0=>[
'type'=>'attribute',
'name'=>'def',
'description'=>"attr-describe\nstill describing def",
],
],
],
],
],
'Docblock.VariedIndents'=>[
'start'=>['/*'],
'input'=>" /*01\n * abc \n * def \n ghi*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"01\n abc \n def \nghi",
],
],
],
'Docblock.IndentedLines'=>[
'start'=>['/*'],
'input'=>" /* abc \n * def \n*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"abc\ndef ",
],
],
],
'Docblock.MultiLine2'=>[
'start'=>['/*'],
'input'=>"/*\n*\n*\n* abc \n* def \n*/",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"abc \ndef ",
],
],
],
'Docblock.MultiLine'=>[
'start'=>['/*'],
'input'=>"/** abc \n* def */",
'expect.previous'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>"abc\ndef ",
],
],
],
'Docblock./**OneLine'=>[
'start'=>['/*'],
'input'=>"/** abc */",
'expect'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>'abc',
],
],
],
'Docblock.OneLine'=>[
'start'=>['/*'],
'input'=>"/* abc */",
'expect'=>[
"docblock"=> [
'type'=>'docblock',
'description'=>'abc',
],
],
],
];