PsrHandlerTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /*
  3. * This file is part of the Monolog package.
  4. *
  5. * (c) Jordi Boggiano <j.boggiano@seld.be>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Monolog\Handler;
  11. use Monolog\Test\TestCase;
  12. use Monolog\Logger;
  13. /**
  14. * @covers Monolog\Handler\PsrHandler::handle
  15. */
  16. class PsrHandlerTest extends TestCase
  17. {
  18. public function logLevelProvider()
  19. {
  20. $levels = [];
  21. $monologLogger = new Logger('');
  22. foreach ($monologLogger->getLevels() as $levelName => $level) {
  23. $levels[] = [$levelName, $level];
  24. }
  25. return $levels;
  26. }
  27. /**
  28. * @dataProvider logLevelProvider
  29. */
  30. public function testHandlesAllLevels($levelName, $level)
  31. {
  32. $message = 'Hello, world! ' . $level;
  33. $context = ['foo' => 'bar', 'level' => $level];
  34. $psrLogger = $this->getMock('Psr\Log\NullLogger');
  35. $psrLogger->expects($this->once())
  36. ->method('log')
  37. ->with(strtolower($levelName), $message, $context);
  38. $handler = new PsrHandler($psrLogger);
  39. $handler->handle(['level' => $level, 'level_name' => $levelName, 'message' => $message, 'context' => $context]);
  40. }
  41. }