for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace andmemasin\emailsvalidator;
use andmemasin\emailsvalidator\models\EmailsValidationForm;
use andmemasin\myabstract\test\ModelTestTrait;
class EmailsValidationFormTest extends \Codeception\Test\Unit
{
use ModelTestTrait;
/**
* @var \andmemasin\emailsvalidator\UnitTester
*/
protected $tester;
/** @var EmailsValidationForm */
protected $model;
protected function _before()
$this->model = $this->baseObject();
}
protected function _after()
public function testLoadEmailAddresses() {
$this->model->textInput = "[email protected]\[email protected],[email protected]";
$result = $this->invokeMethod($this->model, 'loadEmailAddresses');
$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
$this->assertEquals(2, count($this->model->emailAddresses));
$this->assertEquals(1, count($this->model->failingEmailAddresses));
public function testProcess() {
$this->assertEquals(true, $this->model->process());
* Returns a good working LimeSurvey collector
* @return EmailsValidationForm
public function baseObject(){
$model = new EmailsValidationForm();
return $model;
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.