php-parser/test/code/formatPreservation/listInsertion.test
Nikita Popov bbec051e51 FPPP: Consolidate indentation levels
A bit annoying that we have to keep $this->nl always synchronized.
2017-10-06 18:21:08 +02:00

131 lines
1.8 KiB
Plaintext

Insertion into list nodes
-----
<?php
$foo;
$bar;
-----
$stmts[] = new Stmt\Expression(new Expr\Variable('baz'));
-----
<?php
$foo;
$bar;
$baz;
-----
<?php
function test() {
$foo;
$bar;
}
-----
$stmts[0]->stmts[] = new Stmt\Expression(new Expr\Variable('baz'));
-----
<?php
function test() {
$foo;
$bar;
$baz;
}
-----
<?php
function test(Foo $param1) {}
-----
$stmts[0]->params[] = new Node\Param(new Expr\Variable('param2'));
-----
<?php
function test(Foo $param1, $param2) {}
-----
<?php
try {
/* stuff */
} catch
(Foo $x) {}
-----
$stmts[0]->catches[0]->types[] = new Node\Name('Bar');
-----
<?php
try {
/* stuff */
} catch
(Foo|Bar $x) {}
-----
<?php
function test(Foo $param1) {}
-----
array_unshift($stmts[0]->params, new Node\Param(new Expr\Variable('param0')));
/* Insertion at the start not handled yet */
-----
<?php
function test($param0, Foo $param1)
{
}
-----
<?php
if ($cond) {
} elseif ($cond2) {
}
-----
$stmts[0]->elseifs[] = new Stmt\ElseIf_(new Expr\Variable('cond3'), []);
-----
<?php
if ($cond) {
} elseif ($cond2) {
} elseif ($cond3) {
}
-----
<?php
try {
} catch (Foo $foo) {
}
-----
$stmts[0]->catches[] = new Stmt\Catch_([new Node\Name('Bar')], new Expr\Variable('bar'), []);
-----
<?php
try {
} catch (Foo $foo) {
} catch (Bar $bar) {
}
-----
<?php
$foo; $bar;
-----
$node = new Stmt\Expression(new Expr\Variable('baz'));
$node->setAttribute('comments', [new Comment('// Test')]);
$stmts[] = $node;
-----
<?php
$foo; $bar;
// Test
$baz;
-----
<?php
function test() {
$foo; $bar;
}
-----
$node = new Stmt\Expression(new Expr\Variable('baz'));
$node->setAttribute('comments', [new Comment('// Test'), new Comment('// Test 2')]);
$stmts[0]->stmts[] = $node;
-----
<?php
function test() {
$foo; $bar;
// Test
// Test 2
$baz;
}