for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @author Stefano Torresi (http://stefanotorresi.it)
* @license See the file LICENSE.txt for copying permission.
* ************************************************
*/
namespace Thorr\Persistence\Test\Entity;
use PHPUnit_Framework_MockObject_MockObject as MockObject;
use PHPUnit_Framework_TestCase as TestCase;
use Thorr\Persistence\Entity\SluggableTrait;
class SluggableTraitTest extends TestCase
{
public function testSetterDoesntCastNullToEmptyString()
/** @var SluggableTrait|MockObject $sluggable */
$sluggable = $this->getMockForTrait(SluggableTrait::class);
$this->assertNull($sluggable->getSlug());
$sluggable->setSlug(false);
false
boolean
string|null
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
$this->assertSame('', $sluggable->getSlug());
$sluggable->setSlug(null);
}
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: