You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
3.0 KiB
106 lines
3.0 KiB
<?php
|
|
|
|
/*
|
|
* @copyright NetMonsters <team@netmonsters.ru>
|
|
* @link http://netmonsters.ru
|
|
* @package Majestic
|
|
* @subpackage UnitTests
|
|
* @since 2011-10-11
|
|
*
|
|
* Unit tests for RedisDebug class
|
|
*/
|
|
|
|
require_once dirname(__FILE__) . '/../../Registry.php';
|
|
require_once dirname(__FILE__) . '/../../Config.php';
|
|
require_once dirname(__FILE__) . '/../../exception/GeneralException.php';
|
|
require_once dirname(__FILE__) . '/../../util/profiler/CommandProfiler.php';
|
|
require_once dirname(__FILE__) . '/../../util/profiler/Profiler.php';
|
|
require_once dirname(__FILE__) . '/../../redis/RedisDebug.php';
|
|
require_once dirname(__FILE__) . '/../../exception/GeneralException.php';
|
|
|
|
class RedisDebugTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
|
|
public function run(PHPUnit_Framework_TestResult $result = NULL)
|
|
{
|
|
$this->setPreserveGlobalState(false);
|
|
|
|
return parent::run($result);
|
|
}
|
|
|
|
/**
|
|
* @group Redis
|
|
*/
|
|
public function testConstructException()
|
|
{
|
|
$this->setExpectedException('GeneralException');
|
|
$redisDebug = new RedisDebug('redis');
|
|
}
|
|
|
|
/**
|
|
* @group Redis
|
|
*/
|
|
public function testConstructGood()
|
|
{
|
|
$mock = $this->getMock('Redis');
|
|
$redisDebug = new RedisDebug($mock);
|
|
|
|
$class = new ReflectionClass('RedisDebug');
|
|
$redis = $class->getProperty('redis');
|
|
$redis->setAccessible(true);
|
|
$redis = $redis->getValue($redisDebug);
|
|
|
|
$this->assertSame($mock, $redis);
|
|
}
|
|
|
|
/**
|
|
* @runInSeparateProcess
|
|
* @group Redis
|
|
*/
|
|
public function testCallSimpleParams()
|
|
{
|
|
Config::set('PROFILER', true);
|
|
$mock = $this->getMock('Redis', array('connect'));
|
|
|
|
$mock->expects($this->once())
|
|
->method('connect')
|
|
->with($this->equalTo('localhost'), $this->equalTo(4322))
|
|
->will($this->returnValue(true));
|
|
|
|
$redisDebug = new RedisDebug($mock);
|
|
$this->assertTrue($redisDebug->connect('localhost', 4322));
|
|
}
|
|
|
|
/**
|
|
* @runInSeparateProcess
|
|
* @group Redis
|
|
*/
|
|
public function testCallArrayParam()
|
|
{
|
|
Config::set('PROFILER', true);
|
|
$mock = $this->getMock('Redis', array('connect'));
|
|
|
|
$mock->expects($this->once())
|
|
->method('connect')
|
|
->with($this->equalTo(array('localhost', 4322)))
|
|
->will($this->returnValue(true));
|
|
|
|
$redisDebug = new RedisDebug($mock);
|
|
$this->assertTrue($redisDebug->connect(array('localhost', 4322)));
|
|
}
|
|
|
|
/**
|
|
* @runInSeparateProcess
|
|
* @group Redis
|
|
*/
|
|
public function testCallUndefinedMethod()
|
|
{
|
|
Config::set('PROFILER', true);
|
|
$mock = $this->getMock('Redis', array('connect'));
|
|
$redisDebug = new RedisDebug($mock);
|
|
|
|
$this->setExpectedException('PHPUnit_Framework_Error', 'call_user_func_array() expects parameter 1 to be a valid callback, class \'Mock_Redis_');
|
|
|
|
$this->assertNull($redisDebug->nothing('localhost', 4322));
|
|
}
|
|
}
|