• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

yohang / CalendR / 19871756286

02 Dec 2025 08:01PM UTC coverage: 100.0%. Remained the same
19871756286

push

gha

464 of 464 relevant lines covered (100.0%)

114.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/Bridge/Symfony/Bundle/DependencyInjection/Configuration.php
1
<?php
2

3
declare(strict_types=1);
4

5
namespace CalendR\Bridge\Symfony\Bundle\DependencyInjection;
6

7
use CalendR\DayOfWeek;
8
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
9
use Symfony\Component\Config\Definition\ConfigurationInterface;
10

11
final class Configuration implements ConfigurationInterface
12
{
13
    #[\Override]
40✔
14
    public function getConfigTreeBuilder(): TreeBuilder
15
    {
16
        $treeBuilder = new TreeBuilder('calendr');
40✔
17

18
        $enumNode = $treeBuilder
40✔
19
            ->getRootNode()
40✔
20
            ->children()
40✔
21
                ->arrayNode('periods')
40✔
22
                    ->addDefaultsIfNotSet()
40✔
23
                    ->children()
40✔
24
                        ->enumNode('default_first_weekday');
40✔
25

26
        if (method_exists($enumNode, 'enumFqcn')) {
40✔
27
            $enumNode
20✔
28
                ->enumFqcn(DayOfWeek::class)
20✔
29
                ->defaultValue(DayOfWeek::MONDAY);
20✔
30
        } else {
31
            // @codeCoverageIgnoreStart
32
            $enumNode
33
                ->values(array_map(fn (DayOfWeek $dayOfWeek) => $dayOfWeek->value, DayOfWeek::cases()))
34
                ->defaultValue(DayOfWeek::MONDAY->value)
35
                ->validate()
36
                    ->ifNotInArray(array_map(static fn (DayOfWeek $d) => $d->value, DayOfWeek::cases()))
37
                    ->thenInvalid('Day must be be between 0 (Sunday) and 6 (Saturday)')
38
                ->end();
39
            // @codeCoverageIgnoreEnd
40
        }
41

42
        return $treeBuilder;
40✔
43
    }
44
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc