GIF89a;
| Direktori : /home/serb/www/api/vendor/slim/slim/tests/ |
| Current File : /home/serb/www/api/vendor/slim/slim/tests/LogTest.php |
<?php
/**
* Slim - a micro PHP 5 framework
*
* @author Josh Lockhart <info@slimframework.com>
* @copyright 2011 Josh Lockhart
* @link http://www.slimframework.com
* @license http://www.slimframework.com/license
* @version 2.6.1
*
* MIT LICENSE
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
class MyWriter
{
public function write( $object, $level )
{
echo (string) $object;
return true;
}
}
class LogTest extends PHPUnit_Framework_TestCase
{
public function testEnabled()
{
$log = new \Slim\Log(new MyWriter());
$this->assertTrue($log->isEnabled()); //<-- Default case
$log->setEnabled(true);
$this->assertTrue($log->isEnabled());
$log->setEnabled(false);
$this->assertFalse($log->isEnabled());
}
public function testGetLevel()
{
$log = new \Slim\Log(new MyWriter());
$this->assertEquals(\Slim\Log::DEBUG, $log->getLevel());
}
public function testSetLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::WARN);
$this->assertEquals(\Slim\Log::WARN, $log->getLevel());
}
public function testSetInvalidLevel()
{
$this->setExpectedException('InvalidArgumentException');
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::DEBUG + 1);
}
public function testLogDebug()
{
$this->expectOutputString('Debug');
$log = new \Slim\Log(new MyWriter());
$result = $log->debug('Debug');
$this->assertTrue($result);
}
public function testLogDebugExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::INFO);
$this->assertFalse($log->debug('Debug'));
}
public function testLogInfo()
{
$this->expectOutputString('Info');
$log = new \Slim\Log(new MyWriter());
$result = $log->info('Info');
$this->assertTrue($result);
}
public function testLogInfoExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::NOTICE);
$this->assertFalse($log->info('Info'));
}
public function testLogNotice()
{
$this->expectOutputString('Notice');
$log = new \Slim\Log(new MyWriter());
$result = $log->notice('Notice');
$this->assertTrue($result);
}
public function testLogNoticeExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::WARN);
$this->assertFalse($log->info('Info'));
}
public function testLogWarn()
{
$this->expectOutputString('Warn');
$log = new \Slim\Log(new MyWriter());
$result = $log->warning('Warn');
$this->assertTrue($result);
}
public function testLogWarnExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::ERROR);
$this->assertFalse($log->warning('Warn'));
}
public function testLogError()
{
$this->expectOutputString('Error');
$log = new \Slim\Log(new MyWriter());
$result = $log->error('Error');
$this->assertTrue($result);
}
public function testLogErrorExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::CRITICAL);
$this->assertFalse($log->error('Error'));
}
public function testLogCritical()
{
$this->expectOutputString('Critical');
$log = new \Slim\Log(new MyWriter());
$result = $log->critical('Critical');
$this->assertTrue($result);
}
public function testLogCriticalExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::ALERT);
$this->assertFalse($log->critical('Critical'));
}
public function testLogAlert()
{
$this->expectOutputString('Alert');
$log = new \Slim\Log(new MyWriter());
$result = $log->alert('Alert');
$this->assertTrue($result);
}
public function testLogAlertExcludedByLevel()
{
$log = new \Slim\Log(new MyWriter());
$log->setLevel(\Slim\Log::EMERGENCY);
$this->assertFalse($log->alert('Alert'));
}
public function testLogEmergency()
{
$this->expectOutputString('Emergency');
$log = new \Slim\Log(new MyWriter());
$result = $log->emergency('Emergency');
$this->assertTrue($result);
}
public function testInterpolateMessage()
{
$this->expectOutputString('Hello Slim !');
$log = new \Slim\Log(new MyWriter());
$result = $log->debug(
'Hello {framework} !',
array('framework' => "Slim")
);
$this->assertTrue($result);
}
public function testGetAndSetWriter()
{
$writer1 = new MyWriter();
$writer2 = new MyWriter();
$log = new \Slim\Log($writer1);
$this->assertSame($writer1, $log->getWriter());
$log->setWriter($writer2);
$this->assertSame($writer2, $log->getWriter());
}
}