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

eliashaeussler / typo3-solver / 13217441560

08 Feb 2025 04:36PM UTC coverage: 87.749% (-2.1%) from 89.843%
13217441560

push

github

web-flow
Merge pull request #289 from eliashaeussler/task/covers-class

[TASK] Add `#[CoversClass]` attributes to all tests

838 of 955 relevant lines covered (87.75%)

2.38 hits per line

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

0.0
/Classes/Configuration/ExtensionConfigurationProvider.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "solver".
7
 *
8
 * Copyright (C) 2023-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 2 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\Typo3Solver\Configuration;
25

26
use EliasHaeussler\Typo3Solver\Extension;
27
use TYPO3\CMS\Core;
28

29
/**
30
 * ExtensionConfigurationProvider
31
 *
32
 * @author Elias Häußler <elias@haeussler.dev>
33
 * @license GPL-2.0-or-later
34
 */
35
final class ExtensionConfigurationProvider implements ConfigurationProvider
36
{
37
    private readonly Core\Configuration\ExtensionConfiguration $configuration;
38

39
    public function __construct()
×
40
    {
41
        $this->configuration = Core\Utility\GeneralUtility::makeInstance(Core\Configuration\ExtensionConfiguration::class);
×
42
    }
43

44
    public function get(string $configPath, mixed $default = null): mixed
×
45
    {
46
        try {
47
            return $this->configuration->get(Extension::KEY, $configPath);
×
48
        } catch (Core\Exception) {
×
49
            return $default;
×
50
        }
51
    }
52

53
    public static function canBeUsed(): bool
×
54
    {
55
        // Check if a global container is available.
56
        // If yes, extension configuration should be
57
        // available as well. If no, this provider
58
        // cannot be used.
59

60
        try {
61
            Core\Utility\GeneralUtility::getContainer();
×
62
        } catch (\Exception) {
×
63
            return false;
×
64
        }
65

66
        return true;
×
67
    }
68
}
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

© 2025 Coveralls, Inc