|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /**
- * PhpUnderControl_PhalApiMultiCryptMcrypt_Test
- *
- * 针对 ../../PhalApi/Crypt/MultiMcrypt.php PhalApi_Crypt_MultiMcrypt 类的PHPUnit单元测试
- *
- * @author: dogstar 20141211
- */
-
- require_once dirname(__FILE__) . '/../test_env.php';
-
- if (!class_exists('PhalApi_Crypt_MultiMcrypt')) {
- require dirname(__FILE__) . '/../../PhalApi/Crypt/MultiMcrypt.php';
- }
-
- class PhpUnderControl_PhalApiMultiCryptMcrypt_Test extends PHPUnit_Framework_TestCase
- {
- public $coreMultiCryptMcrypt;
-
- protected function setUp()
- {
- parent::setUp();
-
- if (!function_exists('mcrypt_module_open')) {
- throw new Exception('function mcrypt_module_open() not exists');
- }
-
- $this->coreMultiCryptMcrypt = new PhalApi_Crypt_MultiMcrypt('12345678');
- }
-
- protected function tearDown()
- {
- }
-
-
- /**
- * @group testEncrypt
- */
- public function testEncrypt()
- {
- $data = 'haha~';
- $key = '123';
-
- $rs = $this->coreMultiCryptMcrypt->encrypt($data, $key);
- }
-
- /**
- * @group testDecrypt
- */
- public function testDecrypt()
- {
- $data = 'haha~';
- $key = '123';
-
- $rs = $this->coreMultiCryptMcrypt->decrypt($data, $key);
- }
-
- public function testMixed()
- {
- $data = 'haha!哈哈!';
- $key = md5('123');
-
- $encryptData = $this->coreMultiCryptMcrypt->encrypt($data, $key);
-
- $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, $key);
-
- $this->assertEquals($data, $decryptData);
- }
-
- /**
- * @dataProvider provideComplicateData
- */
- public function testWorkWithMoreComplicateData($data)
- {
- $key = 'phalapi';
-
- $encryptData = $this->coreMultiCryptMcrypt->encrypt($data, $key);
-
- $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, $key);
-
- $this->assertSame($data, $decryptData);
- }
-
- public function provideComplicateData()
- {
- return array(
- array(''),
- array(' '),
- array('0'),
- array(0),
- array(1),
- array('12#d_'),
- array(12345678),
- array('来点中文行不行?'),
- array('843435Jhe*&混合'),
- );
- }
-
- /**
- * 当无法对称解密时,返回原数据
- */
- public function testIllegalData()
- {
- $encryptData = '';
-
- $decryptData = $this->coreMultiCryptMcrypt->decrypt($encryptData, 'whatever');
-
- $this->assertEquals($encryptData, $decryptData);
- }
- }
|