for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Test;
use Basis\Test;
use Basis\Filesystem;
class BootstrapTest extends Test
{
public $mocks = [
['event.subscribe', [], 'subscription'],
['web.register', [], 'registration'],
];
public function test()
$this->assertCount(0, $this->subscriptions);
$this->assertCount(0, $this->registrations);
$result = $this->dispatch('module.bootstrap');
$result
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
// web.register was called
$this->assertCount(1, $this->registrations);
// event.subscribe was called
$this->assertCount(1, $this->subscriptions);
$this->assertSame($this->subscriptions[0]->event, 'person.created');
$this->assertSame($this->subscriptions[0]->service, 'test');
// cache exists
$cache = getcwd().'/.cache';
$this->assertTrue(is_dir($cache));
rmdir($cache);
}
private $registrations = [];
public function registration($params)
$this->registrations[] = $params;
private $subscriptions = [];
public function subscription($params)
$this->subscriptions[] = $params;
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVar
assignment in line 1 and the$higher
assignment in line 2 are dead. The first because$myVar
is never used and the second because$higher
is always overwritten for every possible time line.