1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-15 09:34:09 +02:00

Added tests, fixed a bunch of bugs

This commit is contained in:
Jordi Boggiano
2011-02-17 02:50:24 +01:00
parent ed6b0e32a2
commit 7239b5203b
11 changed files with 442 additions and 252 deletions

View File

@@ -0,0 +1,35 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Formatter;
use Monolog\Logger;
class SimpleFormatterTest extends \PHPUnit_Framework_TestCase
{
public function testDefFormatWithString()
{
$formatter = new SimpleFormatter(null, 'Y-m-d');
$message = $formatter->format('log', Logger::WARN, 'foo');
$this->assertEquals('['.date('Y-m-d').'] log.WARN: foo'."\n", $message);
}
public function testDefFormatWithArray()
{
$formatter = new SimpleFormatter(null, 'Y-m-d');
$message = $formatter->format('xx', Logger::FATAL, array(
'log' => 'log',
'level' => 'WARN',
'message' => 'foo'
));
$this->assertEquals('['.date('Y-m-d').'] log.WARN: foo'."\n", $message);
}
}

44
tests/Monolog/LogTest.php Normal file
View File

@@ -0,0 +1,44 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog;
class LogTest extends \PHPUnit_Framework_TestCase
{
public function testLog()
{
$logger = new Log('bob');
$writer1 = $this->getMock('Monolog\Writer\NullWriter', array('write'));
$writer1->expects($this->once())
->method('write')
->with('bob', Logger::WARN, 'test');
$writer2 = $this->getMock('Monolog\Writer\NullWriter', array('write'));
$writer2->expects($this->once())
->method('write')
->with('bob', Logger::WARN, 'test');
$logger->addWriter($writer1);
$logger->addWriter($writer2);
$logger->log(Logger::WARN, 'test');
}
public function testLogLowLevel()
{
$logger = new Log('bob');
$logger->setLevel(Logger::FATAL);
$this->assertEquals(Logger::FATAL, $logger->getLevel());
$writer1 = $this->getMock('Monolog\Writer\NullWriter', array('write'));
$writer1->expects($this->never())
->method('write');
$logger->addWriter($writer1);
$logger->log(Logger::WARN, 'test');
}
}

View File

@@ -0,0 +1,45 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog;
class LoggerTest extends \PHPUnit_Framework_TestCase
{
public function testLogAll()
{
$logger = new Logger();
$log1 = $this->getMock('Monolog\Log', array('log'), array('a'));
$log1->expects($this->once())
->method('log');
$log2 = $this->getMock('Monolog\Log', array('log'), array('b'));
$log2->expects($this->once())
->method('log');
$logger->addLog($log1);
$logger->addLog($log2);
$logger->warn('test');
}
public function testLogFiltered()
{
$logger = new Logger();
$log1 = $this->getMock('Monolog\Log', array('log'), array('a'));
$log1->expects($this->exactly(2))
->method('log');
$log2 = $this->getMock('Monolog\Log', array('log'), array('b'));
$log2->expects($this->never())
->method('log');
$logger->addLog($log1);
$logger->addLog($log2);
$logger->warn('test', 'a');
$logger->warn('test', array('a'));
}
}

View File

@@ -0,0 +1,37 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Writer;
use Monolog\Logger;
class StreamWritterTest extends \PHPUnit_Framework_TestCase
{
public function testWrite()
{
$handle = fopen('php://memory', 'a+');
$writer = new StreamWriter($handle);
$writer->write('log', Logger::WARN, 'test');
$writer->write('log', Logger::WARN, 'test2');
$writer->write('log', Logger::WARN, 'test3');
fseek($handle, 0);
$this->assertEquals('testtest2test3', fread($handle, 100));
}
public function testClose()
{
$handle = fopen('php://memory', 'a+');
$writer = new StreamWriter($handle);
$this->assertTrue(is_resource($handle));
$writer->close();
$this->assertFalse(is_resource($handle));
}
}