for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace spec\Knp\RadBundle\Form;
use PhpSpec\ObjectBehavior;
class DataTypeGuesserSpec extends ObjectBehavior
{
function it_should_be_initializable()
$this->shouldHaveType('Knp\RadBundle\Form\DataTypeGuesser');
}
function it_should_guess_form_type_given_internal_data_type()
$this->setData((object) array(
'test' => true,
'coll' => array(),
));
$guess = $this->guessType('', 'test');
$guess->getType()->shouldBe('checkbox');
$guess = $this->guessType('', 'coll');
$guess->getType()->shouldBe('collection');
$guess = $this->guessType('', 'inexistant')->shouldReturn(null);
$guess
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
function it_should_guess_date_fields()
'date' => new \DateTime,
$guess = $this->guessType('', 'date');
$guess->getType()->shouldBe('date');