| <?php | |
| /** | |
| * Licensed to the Apache Software Foundation (ASF) under one or more | |
| * contributor license agreements. See the NOTICE file distributed with | |
| * this work for additional information regarding copyright ownership. | |
| * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| * (the "License"); you may not use this file except in compliance with | |
| * the License. You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| * | |
| * @category tests | |
| * @package log4php | |
| * @subpackage appenders | |
| * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 | |
| * @version $Revision$ | |
| * @link http://logging.apache.org/log4php | |
| */ | |
| /** | |
| * @group appenders | |
| */ | |
| class LoggerAppenderTest extends PHPUnit_Framework_TestCase { | |
| public function testThreshold() { | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $layout = new LoggerLayoutSimple(); | |
| $appender->setLayout($layout); | |
| $warn = LoggerLevel::getLevelWarn(); | |
| $appender->setThreshold($warn); | |
| $appender->activateOptions(); | |
| $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelFatal(), "testmessage"); | |
| ob_start(); | |
| $appender->doAppend($event); | |
| $v = ob_get_contents(); | |
| ob_end_clean(); | |
| $e = "FATAL - testmessage" . PHP_EOL; | |
| self::assertEquals($e, $v); | |
| $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage"); | |
| ob_start(); | |
| $appender->doAppend($event); | |
| $v = ob_get_contents(); | |
| ob_end_clean(); | |
| $e = "ERROR - testmessage" . PHP_EOL; | |
| self::assertEquals($e, $v); | |
| $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage"); | |
| ob_start(); | |
| $appender->doAppend($event); | |
| $v = ob_get_contents(); | |
| ob_end_clean(); | |
| $e = "WARN - testmessage" . PHP_EOL; | |
| self::assertEquals($e, $v); | |
| $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelInfo(), "testmessage"); | |
| ob_start(); | |
| $appender->doAppend($event); | |
| $v = ob_get_contents(); | |
| ob_end_clean(); | |
| $e = ""; | |
| self::assertEquals($e, $v); | |
| $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelDebug(), "testmessage"); | |
| ob_start(); | |
| $appender->doAppend($event); | |
| $v = ob_get_contents(); | |
| ob_end_clean(); | |
| $e = ""; | |
| self::assertEquals($e, $v); | |
| } | |
| public function testGetThreshold() { | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $layout = new LoggerLayoutSimple(); | |
| $appender->setLayout($layout); | |
| $warn = LoggerLevel::getLevelWarn(); | |
| $appender->setThreshold($warn); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($warn, $a); | |
| } | |
| public function testSetStringThreshold() { | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $layout = new LoggerLayoutSimple(); | |
| $appender->setLayout($layout); | |
| $warn = LoggerLevel::getLevelWarn(); | |
| $appender->setThreshold('WARN'); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($warn, $a); | |
| $e = LoggerLevel::getLevelFatal(); | |
| $appender->setThreshold('FATAL'); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($e, $a); | |
| $e = LoggerLevel::getLevelError(); | |
| $appender->setThreshold('ERROR'); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($e, $a); | |
| $e = LoggerLevel::getLevelDebug(); | |
| $appender->setThreshold('DEBUG'); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($e, $a); | |
| $e = LoggerLevel::getLevelInfo(); | |
| $appender->setThreshold('INFO'); | |
| $a = $appender->getThreshold(); | |
| self::assertEquals($e, $a); | |
| } | |
| public function testSetFilter() { | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $layout = new LoggerLayoutSimple(); | |
| $appender->setLayout($layout); | |
| $filter = new LoggerFilterDenyAll(); | |
| $appender->addFilter($filter); | |
| $filter2 = new LoggerFilterLevelMatch(); | |
| $appender->addFilter($filter2); | |
| $first = $appender->getFilter(); | |
| self::assertEquals($first, $filter); | |
| $next = $first->getNext(); | |
| self::assertEquals($next, $filter2); | |
| $appender->clearFilters(); | |
| $nullfilter = $appender->getFilter(); | |
| self::assertNull($nullfilter); | |
| } | |
| public function testInstanciateWithLayout() { | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $expected = "LoggerLayoutSimple"; | |
| $actual = $appender->getLayout(); | |
| $this->assertInstanceof($expected, $actual); | |
| } | |
| public function testOverwriteLayout() { | |
| $layout = new LoggerLayoutSimple(); | |
| $appender = new LoggerAppenderEcho("LoggerAppenderTest"); | |
| $appender->setLayout($layout); | |
| $actual = $appender->getLayout(); | |
| $this->assertEquals($layout, $actual); | |
| } | |
| public function testRequiresNoLayout() { | |
| $appender = new LoggerAppenderNull("LoggerAppenderTest"); | |
| $actual = $appender->getLayout(); | |
| $this->assertNull($actual); | |
| } | |
| } |