‪TYPO3CMS  ‪main
LogLevelTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
22 use Psr\Log\InvalidArgumentException;
24 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
25 
26 final class ‪LogLevelTest extends UnitTestCase
27 {
28  #[Test]
29  public function ‪isValidLevelValidatesValidLevels(): void
30  {
31  $validLevels = [0, 1, 2, 3, 4, 5, 6, 7];
32  foreach ($validLevels as $validLevel) {
33  self::assertTrue(‪LogLevel::isValidLevel($validLevel));
34  }
35  }
36 
37  #[Test]
39  {
40  $invalidLevels = [-1, 8];
41  foreach ($invalidLevels as $invalidLevel) {
42  self::assertFalse(‪LogLevel::isValidLevel($invalidLevel));
43  }
44  }
45 
50  {
51  return [
52  'negative integer' => [-1],
53  'higher level than expected' => [8],
54  ];
55  }
56 
57  #[DataProvider('isValidLevelThrowsExceptionOnInvalidLevelIfAskedToDoSoDataProvider')]
58  #[Test]
60  {
61  $this->expectException(InvalidArgumentException::class);
62  $this->expectExceptionCode(1321637121);
63 
64  ‪LogLevel::validateLevel($inputValue);
65  }
66 
67  #[Test]
69  {
70  self::assertEquals(7, ‪LogLevel::normalizeLevel('debug'));
71  }
72 
73  public static function ‪atLeastReturnsCorrectListOfLevelsDataProvider(): array
74  {
75  return [
76  'debug and up' => [
77  \Psr\Log\LogLevel::DEBUG,
78  [
79  'emergency',
80  'alert',
81  'critical',
82  'error',
83  'warning',
84  'notice',
85  'info',
86  'debug',
87  ],
88  ],
89  'error and up' => [
90  \Psr\Log\LogLevel::ERROR,
91  [
92  'emergency',
93  'alert',
94  'critical',
95  'error',
96  ],
97  ],
98  'emergency only' => [
99  \Psr\Log\LogLevel::EMERGENCY,
100  [
101  'emergency',
102  ],
103  ],
104  ];
105  }
106 
107  #[DataProvider('atLeastReturnsCorrectListOfLevelsDataProvider')]
108  #[Test]
109  public function ‪atLeastReturnsCorrectListOfLevels(string $level, array $expected): void
110  {
111  self::assertSame($expected, ‪LogLevel::atLeast($level));
112  }
113 }
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\isValidLevelDoesNotValidateInvalidLevels
‪isValidLevelDoesNotValidateInvalidLevels()
Definition: LogLevelTest.php:38
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\isValidLevelThrowsExceptionOnInvalidLevelIfAskedToDoSoDataProvider
‪static isValidLevelThrowsExceptionOnInvalidLevelIfAskedToDoSoDataProvider()
Definition: LogLevelTest.php:49
‪TYPO3\CMS\Core\Log\LogLevel\normalizeLevel
‪static normalizeLevel($level)
Definition: LogLevel.php:90
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\atLeastReturnsCorrectListOfLevelsDataProvider
‪static atLeastReturnsCorrectListOfLevelsDataProvider()
Definition: LogLevelTest.php:73
‪TYPO3\CMS\Core\Log\LogLevel\validateLevel
‪static validateLevel(int $level)
Definition: LogLevel.php:78
‪TYPO3\CMS\Core\Tests\Unit\Log
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\normalizeLevelConvertsValidLevelFromStringToInteger
‪normalizeLevelConvertsValidLevelFromStringToInteger()
Definition: LogLevelTest.php:68
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest
Definition: LogLevelTest.php:27
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\atLeastReturnsCorrectListOfLevels
‪atLeastReturnsCorrectListOfLevels(string $level, array $expected)
Definition: LogLevelTest.php:109
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\isValidLevelThrowsExceptionOnInvalidLevelIfAskedToDoSo
‪isValidLevelThrowsExceptionOnInvalidLevelIfAskedToDoSo($inputValue)
Definition: LogLevelTest.php:59
‪TYPO3\CMS\Core\Log\LogLevel\atLeast
‪static array< string > atLeast($level)
Definition: LogLevel.php:108
‪TYPO3\CMS\Core\Tests\Unit\Log\LogLevelTest\isValidLevelValidatesValidLevels
‪isValidLevelValidatesValidLevels()
Definition: LogLevelTest.php:29
‪TYPO3\CMS\Core\Log\LogLevel
Definition: LogLevel.php:24
‪TYPO3\CMS\Core\Log\LogLevel\isValidLevel
‪static bool isValidLevel(int $level)
Definition: LogLevel.php:67