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

CPS-IT / handlebars / 12791101630

15 Jan 2025 03:03PM UTC coverage: 92.994% (-0.5%) from 93.514%
12791101630

Pull #398

github

web-flow
Merge 9f6f27bf3 into 518fa533d
Pull Request #398: [FEATURE] Populate and read cacheable state of template path providers

14 of 20 new or added lines in 3 files covered. (70.0%)

1 existing line in 1 file now uncovered.

969 of 1042 relevant lines covered (92.99%)

3.78 hits per line

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

63.64
/Classes/Renderer/Template/Path/GlobalPathProvider.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the TYPO3 CMS extension "handlebars".
7
 *
8
 * Copyright (C) 2025 Elias Häußler <e.haeussler@familie-redlich.de>
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 Fr\Typo3Handlebars\Renderer\Template\Path;
25

26
use Symfony\Component\DependencyInjection;
27

28
/**
29
 * GlobalPathProvider
30
 *
31
 * @author Elias Häußler <e.haeussler@familie-redlich.de>
32
 * @license GPL-2.0-or-later
33
 */
34
final readonly class GlobalPathProvider implements PathProvider
35
{
36
    /**
37
     * @var array<int, string>
38
     */
39
    private array $partialRootPaths;
40

41
    /**
42
     * @var array<int, string>
43
     */
44
    private array $templateRootPaths;
45

46
    /**
47
     * @param array{
48
     *     partialRootPaths: array<int, string>,
49
     *     templateRootPaths: array<int, string>,
50
     * } $viewConfiguration
51
     */
52
    public function __construct(
2✔
53
        #[DependencyInjection\Attribute\Autowire([
54
            self::PARTIALS => '%handlebars.partialRootPaths%',
55
            self::TEMPLATES => '%handlebars.templateRootPaths%',
56
        ])]
57
        array $viewConfiguration,
58
    ) {
59
        $this->partialRootPaths = $viewConfiguration[self::PARTIALS];
2✔
60
        $this->templateRootPaths = $viewConfiguration[self::TEMPLATES];
2✔
61
    }
62

63
    public function getPartialRootPaths(): array
1✔
64
    {
65
        return $this->partialRootPaths;
1✔
66
    }
67

68
    public function getTemplateRootPaths(): array
1✔
69
    {
70
        return $this->templateRootPaths;
1✔
71
    }
72

NEW
73
    public function isCacheable(): bool
×
74
    {
NEW
75
        return true;
×
76
    }
77

UNCOV
78
    public static function getPriority(): int
×
79
    {
80
        return 0;
×
81
    }
82
}
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