for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
class CryptoGuardTest extends PHPUnit_Framework_TestCase
You can fix this by adding a namespace to your class:
namespace YourVendor; class YourClass { }
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.
{
public function testEncryption()
require_once __DIR__ . '/../vendor/autoload.php';
$passphrase = 'test-passphrase';
$cryptoGuard = new \Coreproc\CryptoGuard\CryptoGuard($passphrase);
$stringToEncrypt = 'test string to encrypt';
$encryptedText = $cryptoGuard->encrypt($stringToEncrypt);
$decryptedText = $cryptoGuard->decrypt($encryptedText);
$this->assertEquals($stringToEncrypt, $decryptedText);
}
/**
* @expectedException Coreproc\CryptoGuard\Exceptions\InvalidPayloadException
*/
public function testFailedDecryption()
// decrypt the string
$decryptedText = json_decode(base64_decode($encryptedText), true);
$decryptedText['iv'] = 'changed-iv-for-test';
// encrypt again
$encryptedText = base64_encode(json_encode($decryptedText));
$decryptedText
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
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.