blob: 316423b00e873de4fa032dc2b0514147bba4d337 [file] [log] [blame]
<?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
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @link http://logging.apache.org/log4php
*/
/**
* @group main
*/
class LoggerHierarchyTest extends PHPUnit_Framework_TestCase {
private $hierarchy;
protected function setUp() {
$this->hierarchy = new LoggerHierarchy(new LoggerRoot());
}
public function testResetConfiguration() {
$root = $this->hierarchy->getRootLogger();
$appender = new LoggerAppenderConsole('A1');
$root->addAppender($appender);
$logger = $this->hierarchy->getLogger('test');
self::assertEquals(1, count($this->hierarchy->getCurrentLoggers()));
$this->hierarchy->resetConfiguration();
self::assertEquals(LoggerLevel::getLevelDebug(), $root->getLevel());
self::assertEquals(LoggerLevel::getLevelAll(), $this->hierarchy->getThreshold());
self::assertEquals(1, count($this->hierarchy->getCurrentLoggers()));
foreach($this->hierarchy->getCurrentLoggers() as $logger) {
self::assertNull($logger->getLevel());
self::assertTrue($logger->getAdditivity());
self::assertEquals(0, count($logger->getAllAppenders()), 0);
}
}
public function testSettingParents() {
$hierarchy = $this->hierarchy;
$loggerDE = $hierarchy->getLogger("de");
$root = $loggerDE->getParent();
self::assertEquals('root', $root->getName());
$loggerDEBLUB = $hierarchy->getLogger("de.blub");
self::assertEquals('de.blub', $loggerDEBLUB->getName());
$p = $loggerDEBLUB->getParent();
self::assertEquals('de', $p->getName());
$loggerDEBLA = $hierarchy->getLogger("de.bla");
$p = $loggerDEBLA->getParent();
self::assertEquals('de', $p->getName());
$logger3 = $hierarchy->getLogger("de.bla.third");
$p = $logger3->getParent();
self::assertEquals('de.bla', $p->getName());
$p = $p->getParent();
self::assertEquals('de', $p->getName());
}
public function testExists() {
$hierarchy = $this->hierarchy;
$logger = $hierarchy->getLogger("de");
self::assertTrue($hierarchy->exists("de"));
$logger = $hierarchy->getLogger("de.blub");
self::assertTrue($hierarchy->exists("de.blub"));
self::assertTrue($hierarchy->exists("de"));
$logger = $hierarchy->getLogger("de.de");
self::assertTrue($hierarchy->exists("de.de"));
}
public function testClear() {
$hierarchy = $this->hierarchy;
$logger = $hierarchy->getLogger("de");
self::assertTrue($hierarchy->exists("de"));
$hierarchy->clear();
self::assertFalse($hierarchy->exists("de"));
}
}