private static function createDataTableTest(DataTable $dt, Block $codeBlock) { $tryStmt = new TryCatchStatement(); $codeBlock->appendRenderable($tryStmt); $tryBlock = $tryStmt->tryBlock; $tryBlock->appendRenderable(new Statement(new AssignExpr('$session', new MethodCall('$this', 'getLoggedSession')))); $tryBlock->appendRenderable(new Statement(new MethodCall('$this', 'openInMenu', [new ObjectProperty('$this', 'mapModule'), '$session']))); $tryBlock->appendRenderable(new Statement(new MethodCall('$this', 'checkWait', ['$session']))); $tryBlock->appendRenderable(new Statement(new AssignExpr('$page', new MethodCall('$session', 'getPage')))); $tryBlock->appendRenderable(new Statement(new AssignExpr('$dt', new MethodCall('$page', 'findById', [$dt->getId()])))); $tryBlock->appendLine(''); $tryBlock->appendLine(''); $var = new Variable('$dt'); $ifElseBlock = new IfElseStatement($var, null, new Block()); $ifBlock = $ifElseBlock->if; $ifBlock->appendLine(''); if ($dt->hasPager()) { $ifBlock->appendLine(''); self::createPagerTest($dt, $ifBlock); } if ($dt->hasColumnFilter()) { $ifBlock->appendLine(''); self::createColumnFilterTest($dt, $ifBlock); } if ($dt->hasActions()) { $ifBlock->appendLine(''); self::createActionsTest($dt, $ifBlock); } if ($dt->hasRowOptions()) { $ifBlock->appendLine(''); self::createRowTest($dt, $ifBlock); } $ifBlock->appendLine(''); $ifBlock->appendLine(''); /** @var Block $elseBlock */ $elseBlock = $ifElseBlock->else; $elseBlock->appendRenderable(new Statement(new StaticMethodCall('static', 'assertTrue', [false, 'dt not found']))); $tryBlock->appendRenderable($ifElseBlock); }