['SimpleCrypt'], 'SimpleCryptSimpleEngine'=>['SimpleCryptSimpleEngine']]; if(function_exists('sodium_crypto_secretbox_open')){ $aClassProvider['SimpleCryptSodiumEngine'] = ['SimpleCryptSodiumEngine'] ; } if(function_exists('openssl_decrypt')){ $aClassProvider['SimpleCryptOpenSSLEngine'] = ['SimpleCryptOpenSSLEngine']; $aClassProvider['SimpleCryptOpenSSLMcryptCompatibilityEngine'] = ['SimpleCryptOpenSSLMcryptCompatibilityEngine']; } return$aClassProvider; } /** * @param $sClass * @dataProvider DecryptClassProvider **/ public function testDecryptWithNullValue($sClass) { $oSimpleCrypt = new $sClass(); $this->assertEquals(null, $oSimpleCrypt->Decrypt("dd", null)); } /** * @param $sClass * @dataProvider DecryptClassProvider **/ public function testDecryptWithEmptyValue($sClass) { $oSimpleCrypt = new $sClass(); $this->assertEquals('', $oSimpleCrypt->Decrypt("dd", "")); } public function DecryptClassWithNonDecryptableValueProvider() { $aClassProvider = ['SimpleCrypt'=>['SimpleCrypt', '** decryption error **'], // 'SimpleCryptSimpleEngine'=>['SimpleCryptSimpleEngine', ' '] ]; if(function_exists('sodium_crypto_secretbox_open')){ $aClassProvider['SimpleCryptSodiumEngine'] = ['SimpleCryptSodiumEngine', '', 'SodiumException'] ; } if(function_exists('openssl_decrypt')){ $aClassProvider['SimpleCryptOpenSSLEngine'] = ['SimpleCryptOpenSSLEngine', '** decryption error **']; $aClassProvider['SimpleCryptOpenSSLMcryptCompatibilityEngine'] = ['SimpleCryptOpenSSLMcryptCompatibilityEngine', '** decryption error **']; } return$aClassProvider; } /** * @param $sClass * @param $sExpectedValue * @dataProvider DecryptClassWithNonDecryptableValueProvider **/ public function testDecrypWithNonDecryptableValue($sClass, $sExpectedValue = '', $sExpectedException = null) { if($sExpectedException !== null) { $this->expectException($sExpectedException); } $oSimpleCrypt = new $sClass(); $result=$oSimpleCrypt->Decrypt("dd", "gabuzomeuuofteod"); $this->assertEquals($sExpectedValue, $result,''); } }