From 6f774f17a3aff72afa0306d45659b820671ccaf6 Mon Sep 17 00:00:00 2001 From: ramon Date: Thu, 1 Jul 2010 13:48:39 +0000 Subject: [PATCH] [ZF-10089] Zend_Log - fixed stricts git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22513 44c647ce-9c0f-0410-b52a-842ac1e357ba --- library/Zend/Log/Writer/Db.php | 14 +++++++------- tests/Zend/Log/Writer/DbTest.php | 18 ++++++++++++++++-- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/library/Zend/Log/Writer/Db.php b/library/Zend/Log/Writer/Db.php index 370ae07cd..4fc13a0e6 100644 --- a/library/Zend/Log/Writer/Db.php +++ b/library/Zend/Log/Writer/Db.php @@ -68,7 +68,7 @@ class Zend_Log_Writer_Db extends Zend_Log_Writer_Abstract /** * Create a new instance of Zend_Log_Writer_Db - * + * * @param array|Zend_Config $config * @return Zend_Log_Writer_Db * @throws Zend_Log_Exception @@ -77,15 +77,15 @@ class Zend_Log_Writer_Db extends Zend_Log_Writer_Abstract { $config = self::_parseConfig($config); $config = array_merge(array( - 'db' => null, - 'table' => null, + 'db' => null, + 'table' => null, 'columnMap' => null, ), $config); - + if (isset($config['columnmap'])) { $config['columnMap'] = $config['columnmap']; } - + return new self( $config['db'], $config['table'], @@ -96,10 +96,10 @@ class Zend_Log_Writer_Db extends Zend_Log_Writer_Abstract /** * Formatting is not possible on this writer */ - public function setFormatter($formatter) + public function setFormatter(Zend_Log_Formatter_Interface $formatter) { require_once 'Zend/Log/Exception.php'; - throw new Zend_Log_Exception(get_class() . ' does not support formatting'); + throw new Zend_Log_Exception(get_class($this) . ' does not support formatting'); } /** diff --git a/tests/Zend/Log/Writer/DbTest.php b/tests/Zend/Log/Writer/DbTest.php index 7eaeef329..ad7763646 100644 --- a/tests/Zend/Log/Writer/DbTest.php +++ b/tests/Zend/Log/Writer/DbTest.php @@ -47,7 +47,8 @@ class Zend_Log_Writer_DbTest extends PHPUnit_Framework_TestCase public function testFormattingIsNotSupported() { try { - $this->writer->setFormatter(new stdclass); + require_once 'Zend/Log/Formatter/Simple.php'; + $this->writer->setFormatter(new Zend_Log_Formatter_Simple()); $this->fail(); } catch (Exception $e) { $this->assertType('Zend_Log_Exception', $e); @@ -109,7 +110,7 @@ class Zend_Log_Writer_DbTest extends PHPUnit_Framework_TestCase $this->assertEquals('Database adapter is null', $e->getMessage()); } } - + public function testFactory() { $cfg = array('log' => array('memory' => array( @@ -123,6 +124,19 @@ class Zend_Log_Writer_DbTest extends PHPUnit_Framework_TestCase $logger = Zend_Log::factory($cfg['log']); $this->assertTrue($logger instanceof Zend_Log); } + + /** + * @group ZF-10089 + */ + public function testThrowStrictSetFormatter() + { + try { + $this->writer->setFormatter(new StdClass()); + } catch (Exception $e) { + $this->assertType('PHPUnit_Framework_Error', $e); + $this->assertContains('must implement interface', $e->getMessage()); + } + } } -- 2.11.4.GIT