coreCryptMcrypt = new PhalApi_Crypt_Mcrypt(); } protected function tearDown() { } /** * @group testEncrypt */ public function testEncrypt() { $data = 'dogstar test哈哈 !!~~ '; $key = '2014'; $rs = $this->coreCryptMcrypt->encrypt($data, $key); return array($data, $key, $rs); } /** * @depends testEncrypt * @group testDecrypt */ public function testDecrypt($rsData) { list($data, $key, $encryptData) = $rsData; $rs = $this->coreCryptMcrypt->decrypt($encryptData, $key); $this->assertEquals($data, $rs); } /** * @dataProvider provideIv */ public function testWithIV($iv) { $mcrypt = new PhalApi_Crypt_Mcrypt($iv); $data = 'dogstar'; $key = 'phalapi'; $this->assertEquals($mcrypt->decrypt($mcrypt->encrypt($data, $key), $key), $data); } public function provideIv() { return array( array(12), array('12'), array('12345678'), array('1234567890'), array('&632(jnD'), ); } /** * @dataProvider provideComplicateData */ public function testWorkWithMoreComplicateData($data) { $mcrypt = new PhalApi_Crypt_Mcrypt('12345678'); $key = 'phalapi'; $encryptData = $mcrypt->encrypt($data, $key); $decryptData = $mcrypt->decrypt($encryptData, $key); $this->assertEquals($data, $decryptData); } public function provideComplicateData() { return array( array(''), array(' '), array('0'), array(0), array(1), array('12#d_'), array(12345678), array('来点中文行不行?'), array('843435Jhe*&混合'), ); } }