Values.php

<?php

namespace Tlf\Lexer\Test\Directives;

trait Values {

    protected $_values_tests= [


        'Values.Arithmetic.Nesting'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            // PEMDAS
            'input'=>'(1*2+(4*6/((1+2)+(3**2)))+3 - 12) / 3 ** 2 + 987;',
            'expect'=>[
                'value'=>'(1*2+(4*6/((1+2)+(3**2)))+3-12)/3**2+987',
                'declaration'=>'(1*2+(4*6/((1+2)+(3**2)))+3 - 12) / 3 ** 2 + 987;',
            ],
        ],
        'Values.Arithmetic'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            // PEMDAS
            'input'=>'(1*2)+3 - 12 / 3 ** 2 + 987;',
            'expect'=>[
                'value'=>'(1*2)+3-12/3**2+987',
                'declaration'=>'(1*2)+3 - 12 / 3 ** 2 + 987;',
            ],
        ],

        'Values.Arithmetic.Add'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            // PEMDAS
            'input'=>'1 + 2;',
            'expect'=>[
                'value'=>'1+2',
                'declaration'=>'1 + 2;',
            ],
        ],

        'Values.Array.WithConcats'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'["a"."b"."c",22,"c"];',
            'expect'=>[
                'value'=>'["a"."b"."c",22,"c"]',
                'declaration'=>'["a"."b"."c",22,"c"];',
            ],
        ],

        'Values.Array.Keyed'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'["a"=>1,22,"c"=>\'third element\'];',
            'expect'=>[
                'value'=>'["a"=>1,22,"c"=>\'third element\']',
                'declaration'=>'["a"=>1,22,"c"=>\'third element\'];',
            ],
        ],

        'Values.Array.IntStringValues'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'["a",22,"c"];',
            'expect'=>[
                'value'=>'["a",22,"c"]',
                'declaration'=>'["a",22,"c"];',
            ],
        ],

        'Values.Array.StringValues'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'["a","b","c"];',
            'expect'=>[
                'value'=>'["a","b","c"]',
                'declaration'=>'["a","b","c"];',
            ],
        ],

        'Values.Array.DoubleValue'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'[1.33,2,3];',
            'expect'=>[
                'value'=>'[1.33,2,3]',
                'declaration'=>'[1.33,2,3];',
            ],
        ],

        'Values.Array.IntValues'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'[1,2,3];',
            'expect'=>[
                'value'=>'[1,2,3]',
                'declaration'=>'[1,2,3];',
            ],
        ],

        'Values.BothQuotesConcat'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'"This"."is".\'a\'."const";',
            'expect'=>[
                'value'=>'"This"."is".\'a\'."const"',
                'declaration'=>'"This"."is".\'a\'."const";',
            ],
        ],

        'Values.SingleQuotesConcat'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>"'This'.'is'.'a'.'thing';",
            'expect'=>[
                'value'=>"'This'.'is'.'a'.'thing'",
                'declaration'=>"'This'.'is'.'a'.'thing';",
            ],
        ],

        'Values.DoubleQuotesConcat'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'"This"."is"."a"."thing";',
            'expect'=>[
                'value'=>'"This"."is"."a"."thing"',
                'declaration'=>'"This"."is"."a"."thing";',
            ],
        ],

        'Values.Double'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'1.87;',
            'expect'=>[
                'value'=>'1.87',
                'declaration'=>'1.87;',
            ],
        ],

        'Values.Int'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'1;',
            'expect'=>[
                'value'=>'1',
                'declaration'=>'1;',
            ],
        ],

        "Values.SemicolonStop"=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'"This";',
            'expect'=>[
                'value'=>'"This"',
                'declaration'=>'"This";',
            ],
        ],

        'Values.CommaSeparatedArg'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'"This",',
            'expect'=>[
                'value'=>'"This"',
                'declaration'=>'"This"',
            ],
        ],

        'Values.CloseArgList'=>[
            'ast.type'=>'var_assign',
            'start'=>['php_code'],
            'input'=>'"This")',
            'expect'=>[
                'value'=>'"This"',
                'declaration'=>'"This"',
            ],
        ],
    ];
}