@ -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 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' );
$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' );
$this -> assertNull ( $profiler -> getJson ());
$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 ()