/**
  * @dataProvider getShortcutMethods
  */
 public function testShortcutMethods($method)
 {
     Logger::setLevel(LogLevel::DEBUG);
     if ($method === 'warn') {
         $levelName = 'WARNING';
     } else {
         $levelName = $method;
     }
     $this->mockEngineMethod('log')->will($this->returnCallback(function ($level, $mixed) use($levelName) {
         $this->assertSame(LogLevel::getCode($levelName), $level);
         $this->assertSame('message', $mixed);
     }));
     Logger::$method('message');
 }
 /**
  * @return int
  */
 public function getLevel()
 {
     if ($this->level === null) {
         $name = Config::getString('hyperframework.logging.log_level', '');
         if ($name !== '') {
             $level = LogLevel::getCode($name);
             if ($level === null) {
                 throw new ConfigException("Log level '{$name}' is invalid, set using config " . "'hyperframework.logging.log_level'. " . "The available log levels are: " . "DEBUG, INFO, NOTICE, WARNING, ERROR, FATAL, OFF.");
             }
             $this->level = $level;
         } else {
             $this->level = LogLevel::INFO;
         }
     }
     return $this->level;
 }
 public function testGetCodeByInvalidName()
 {
     $this->assertSame(null, LogLevel::getCode('unknown'));
 }