diff --git a/src/Services/LabelSystem/LabelHTMLGenerator.php b/src/Services/LabelSystem/LabelHTMLGenerator.php index b4184646..620d7746 100644 --- a/src/Services/LabelSystem/LabelHTMLGenerator.php +++ b/src/Services/LabelSystem/LabelHTMLGenerator.php @@ -53,7 +53,7 @@ use Twig\Error\Error; final class LabelHTMLGenerator { - public function __construct(private readonly ElementTypeNameGenerator $elementTypeNameGenerator, private readonly LabelTextReplacer $replacer, private readonly Environment $twig, private readonly LabelBarcodeGenerator $barcodeGenerator, private readonly SandboxedTwigProvider $sandboxedTwigProvider, private readonly Security $security, private readonly string $partdb_title) + public function __construct(private readonly ElementTypeNameGenerator $elementTypeNameGenerator, private readonly LabelTextReplacer $replacer, private readonly Environment $twig, private readonly LabelBarcodeGenerator $barcodeGenerator, private readonly SandboxedTwigFactory $sandboxedTwigProvider, private readonly Security $security, private readonly string $partdb_title) { } @@ -66,7 +66,7 @@ final class LabelHTMLGenerator $twig_elements = []; if (LabelProcessMode::TWIG === $options->getProcessMode()) { - $sandboxed_twig = $this->sandboxedTwigProvider->getTwig($options); + $sandboxed_twig = $this->sandboxedTwigProvider->createTwig($options); $current_user = $this->security->getUser(); } diff --git a/src/Services/LabelSystem/SandboxedTwigProvider.php b/src/Services/LabelSystem/SandboxedTwigFactory.php similarity index 97% rename from src/Services/LabelSystem/SandboxedTwigProvider.php rename to src/Services/LabelSystem/SandboxedTwigFactory.php index bf152150..5990165a 100644 --- a/src/Services/LabelSystem/SandboxedTwigProvider.php +++ b/src/Services/LabelSystem/SandboxedTwigFactory.php @@ -72,9 +72,10 @@ use Twig\Loader\ArrayLoader; use Twig\Sandbox\SecurityPolicyInterface; /** + * This service creates a sandboxed twig environment for the label system. * @see \App\Tests\Services\LabelSystem\SandboxedTwigProviderTest */ -final class SandboxedTwigProvider +final class SandboxedTwigFactory { private const ALLOWED_TAGS = ['apply', 'autoescape', 'do', 'for', 'if', 'set', 'verbatim', 'with']; private const ALLOWED_FILTERS = ['abs', 'batch', 'capitalize', 'column', 'country_name', @@ -129,7 +130,7 @@ final class SandboxedTwigProvider { } - public function getTwig(LabelOptions $options): Environment + public function createTwig(LabelOptions $options): Environment { if (LabelProcessMode::TWIG !== $options->getProcessMode()) { throw new InvalidArgumentException('The LabelOptions must explicitly allow twig via lines_mode = "twig"!'); diff --git a/tests/Services/LabelSystem/SandboxedTwigProviderTest.php b/tests/Services/LabelSystem/SandboxedTwigFactoryTest.php similarity index 97% rename from tests/Services/LabelSystem/SandboxedTwigProviderTest.php rename to tests/Services/LabelSystem/SandboxedTwigFactoryTest.php index e62c54d2..02e78741 100644 --- a/tests/Services/LabelSystem/SandboxedTwigProviderTest.php +++ b/tests/Services/LabelSystem/SandboxedTwigFactoryTest.php @@ -47,18 +47,18 @@ use App\Entity\LabelSystem\LabelSupportedElement; use App\Entity\Parts\Part; use App\Entity\Parts\PartLot; use App\Entity\Parts\StorageLocation; -use App\Services\LabelSystem\SandboxedTwigProvider; +use App\Services\LabelSystem\SandboxedTwigFactory; use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; use Twig\Sandbox\SecurityError; -class SandboxedTwigProviderTest extends WebTestCase +class SandboxedTwigFactoryTest extends WebTestCase { private ?object $service = null; protected function setUp(): void { self::bootKernel(); - $this->service = self::getContainer()->get(SandboxedTwigProvider::class); + $this->service = self::getContainer()->get(SandboxedTwigFactory::class); } public function twigDataProvider(): array