Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
51 / 51
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3// ╔════════════════════════════════════════════════════════════╗
4// ║ MIT Licence (#Expat) - https://opensource.org/licenses/MIT ║
5// ║ Copyright 2026 Frederic Poeydomenge <dyno@phexium.com>     ║
6// ╚════════════════════════════════════════════════════════════╝
7
8declare(strict_types=1);
9
10pest()->group('unit');
11
12use Phexium\Plugin\Logger\Adapter\NullLogger;
13use Psr\Log\LogLevel;
14
15beforeEach(function (): void {
16    $this->logger = new NullLogger();
17});
18
19describe('PSR-3 log levels', function (): void {
20    it('accepts emergency level', function (): void {
21        expect(method_exists($this->logger, 'emergency'))->toBeTrue();
22        $result = $this->logger->emergency('Test emergency message');
23        expect($result)->toBeNull();
24    });
25
26    it('accepts alert level', function (): void {
27        expect(method_exists($this->logger, 'alert'))->toBeTrue();
28        $result = $this->logger->alert('Test alert message');
29        expect($result)->toBeNull();
30    });
31
32    it('accepts critical level', function (): void {
33        expect(method_exists($this->logger, 'critical'))->toBeTrue();
34        $result = $this->logger->critical('Test critical message');
35        expect($result)->toBeNull();
36    });
37
38    it('accepts error level', function (): void {
39        expect(method_exists($this->logger, 'error'))->toBeTrue();
40        $result = $this->logger->error('Test error message');
41        expect($result)->toBeNull();
42    });
43
44    it('accepts warning level', function (): void {
45        expect(method_exists($this->logger, 'warning'))->toBeTrue();
46        $result = $this->logger->warning('Test warning message');
47        expect($result)->toBeNull();
48    });
49
50    it('accepts notice level', function (): void {
51        expect(method_exists($this->logger, 'notice'))->toBeTrue();
52        $result = $this->logger->notice('Test notice message');
53        expect($result)->toBeNull();
54    });
55
56    it('accepts info level', function (): void {
57        expect(method_exists($this->logger, 'info'))->toBeTrue();
58        $result = $this->logger->info('Test info message');
59        expect($result)->toBeNull();
60    });
61
62    it('accepts debug level', function (): void {
63        expect(method_exists($this->logger, 'debug'))->toBeTrue();
64        $result = $this->logger->debug('Test debug message');
65        expect($result)->toBeNull();
66    });
67
68    it('accepts generic log level', function (): void {
69        expect(method_exists($this->logger, 'log'))->toBeTrue();
70        $result = $this->logger->log(LogLevel::INFO, 'Test log message');
71        expect($result)->toBeNull();
72    });
73});