Add Profiler support report message with turn on PROFILER_DETAILS (if use to show queries). Modified tests MongoStatementTest, MySQLiStatementTest. Adding new tests to ProfilerTest.
This commit is contained in:
@ -72,6 +72,7 @@ class ProfilerTest extends PHPUnit_Framework_TestCase
|
||||
public function testStartEndNoCommandProfiler()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
$profiler = Profiler::getInstance();
|
||||
$profiler->start();
|
||||
$result = $profiler->end('<body></body>');
|
||||
@ -90,6 +91,7 @@ class ProfilerTest extends PHPUnit_Framework_TestCase
|
||||
public function testStartEndWithCommandProfiler()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
@ -105,14 +107,146 @@ class ProfilerTest extends PHPUnit_Framework_TestCase
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetJSON()
|
||||
public function testStartEndWithCommandProfilerWithNonDetails()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$profiler->start();
|
||||
$result = $profiler->end('<body></body>');
|
||||
$this->assertNotEquals('<body></body>', $result);
|
||||
$this->assertContains('Queries not counted.', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testStartEndWithCommandProfilerWithNonDetailsButExistingQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$cmdProfiler = $profiler->profilerCommand('command', 'type');
|
||||
$this->assertNull($profiler->getJson());
|
||||
$profiler->start();
|
||||
$result = $profiler->end('<body></body>');
|
||||
$this->assertNotEquals('<body></body>', $result);
|
||||
$this->assertStringEndsNotWith(']<br/></div></body>', $result);
|
||||
$this->assertContains('Queries: 1', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testStartEndWithCommandProfilerWithDetailsButNonQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$profiler->start();
|
||||
$result = $profiler->end('<body></body>');
|
||||
$this->assertNotEquals('<body></body>', $result);
|
||||
$this->assertStringEndsWith(']<br/></div></body>', $result);
|
||||
$this->assertContains('Queries: 0', $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetJSON()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$cmdProfiler = $profiler->profilerCommand('command', 'type');
|
||||
$fire_php_mock = $this->getMockBuilder('FirePHP')
|
||||
->disableOriginalConstructor()
|
||||
->setMethods(array('__construct', 'fb'))
|
||||
->getMock();
|
||||
$fire_php_mock->expects($this->exactly(2))
|
||||
->method('fb')
|
||||
->with($this->anything(), $this->logicalAnd($this->logicalXor($this->anything(), $this->stringContains('Queries not'))), $this->logicalXor($this->anything(), $this->stringContains('Queries: 0'))); // Expected "Queries: 1"
|
||||
$reflection_property = new ReflectionProperty('FirePHP', 'instance');
|
||||
$reflection_property->setAccessible(true);
|
||||
$reflection_property->setValue($fire_php_mock);
|
||||
$this->assertNull($profiler->getJson());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetJSONWithNonDetails()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$fire_php_mock = $this->getMockBuilder('FirePHP')
|
||||
->disableOriginalConstructor()
|
||||
->setMethods(array('__construct', 'fb'))
|
||||
->getMock();
|
||||
$fire_php_mock->expects($this->exactly(2))
|
||||
->method('fb')
|
||||
->with($this->anything(), $this->logicalAnd($this->logicalXor($this->anything(), $this->stringContains('Queries: 1'))), $this->logicalXor($this->anything(), $this->stringContains('Queries: 0'))); // expected "Queries not counted"
|
||||
$reflection_property = new ReflectionProperty('FirePHP', 'instance');
|
||||
$reflection_property->setAccessible(true);
|
||||
$reflection_property->setValue($fire_php_mock);
|
||||
$this->assertNull($profiler->getJson());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetJSONWithNonDetailsButExistingQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$cmdProfiler = $profiler->profilerCommand('command', 'type');
|
||||
$fire_php_mock = $this->getMockBuilder('FirePHP')
|
||||
->disableOriginalConstructor()
|
||||
->setMethods(array('__construct', 'fb'))
|
||||
->getMock();
|
||||
$fire_php_mock->expects($this->exactly(2))
|
||||
->method('fb')
|
||||
->with($this->anything(), $this->logicalAnd($this->logicalXor($this->anything(), $this->stringContains('Queries not counted'))), $this->logicalXor($this->anything(), $this->stringContains('Queries: 0'))); // expected "Queries: 1"
|
||||
$reflection_property = new ReflectionProperty('FirePHP', 'instance');
|
||||
$reflection_property->setAccessible(true);
|
||||
$reflection_property->setValue($fire_php_mock);
|
||||
$this->assertNull($profiler->getJson());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetJSONWithDetailsButNonQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$fire_php_mock = $this->getMockBuilder('FirePHP')
|
||||
->disableOriginalConstructor()
|
||||
->setMethods(array('__construct', 'fb'))
|
||||
->getMock();
|
||||
$fire_php_mock->expects($this->exactly(2))
|
||||
->method('fb')
|
||||
->with($this->anything(), $this->logicalAnd($this->logicalXor($this->anything(), $this->stringContains('Queries not counted'))), $this->logicalXor($this->anything(), $this->stringContains('Queries: 1'))); // expected "Queries: 0"
|
||||
$reflection_property = new ReflectionProperty('FirePHP', 'instance');
|
||||
$reflection_property->setAccessible(true);
|
||||
$reflection_property->setValue($fire_php_mock);
|
||||
$this->assertNull($profiler->getJson());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,12 +255,60 @@ class ProfilerTest extends PHPUnit_Framework_TestCase
|
||||
public function testGetCLI()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$cmdProfiler = $profiler->profilerCommand('command', 'type');
|
||||
$result = $profiler->getCli();
|
||||
$this->assertNotNull($result);
|
||||
$this->assertContains('Queries: 1', Profiler::getInstance()->getCli());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetCLIWithNonDetails()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$result = $profiler->getCli();
|
||||
$this->assertNotNull($result);
|
||||
$this->assertContains('Queries not counted', Profiler::getInstance()->getCli());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetCLIWithNonDetailsButExistingQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', false);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$cmdProfiler = $profiler->profilerCommand('command', 'type');
|
||||
$result = $profiler->getCli();
|
||||
$this->assertNotNull($result);
|
||||
$this->assertContains('Queries: 1', Profiler::getInstance()->getCli());
|
||||
}
|
||||
|
||||
/**
|
||||
* @runInSeparateProcess
|
||||
*/
|
||||
public function testGetCLIWithDetailsButNonQueries()
|
||||
{
|
||||
Config::set('PROFILER', true);
|
||||
Config::set('PROFILER_DETAILS', true);
|
||||
|
||||
$this->getMock('CommandProfiler', array('getType', 'getCommand', 'getElapsed'), array(), 'CommandProfilerMock', false);
|
||||
$profiler = Profiler::getInstance();
|
||||
$result = $profiler->getCli();
|
||||
$this->assertNotNull($result);
|
||||
$this->assertContains('Queries: 0', Profiler::getInstance()->getCli());
|
||||
}
|
||||
|
||||
public function tearDown()
|
||||
|
Reference in New Issue
Block a user