Merge branch '3.x' into 4.x

* 3.x:
  Fix optimizer mode validation in OptimizerNodeVisitor
This commit is contained in:
Fabien Potencier
2024-07-27 20:28:15 +02:00
2 changed files with 12 additions and 1 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ final class OptimizerNodeVisitor implements NodeVisitorInterface
*/
public function __construct(int $optimizers = -1)
{
if ($optimizers > (self::OPTIMIZE_FOR | self::OPTIMIZE_RAW_FILTER)) {
if ($optimizers > (self::OPTIMIZE_FOR | self::OPTIMIZE_RAW_FILTER | self::OPTIMIZE_TEXT_NODES)) {
throw new \InvalidArgumentException(\sprintf('Optimizer mode "%s" is not valid.', $optimizers));
}
+11
View File
@@ -19,10 +19,21 @@ use Twig\Node\Expression\NameExpression;
use Twig\Node\Expression\ParentExpression;
use Twig\Node\ForNode;
use Twig\Node\Node;
use Twig\NodeVisitor\OptimizerNodeVisitor;
use Twig\Source;
class OptimizerTest extends TestCase
{
public function testConstructor()
{
$this->expectNotToPerformAssertions();
new OptimizerNodeVisitor(
OptimizerNodeVisitor::OPTIMIZE_FOR
| OptimizerNodeVisitor::OPTIMIZE_RAW_FILTER
| OptimizerNodeVisitor::OPTIMIZE_TEXT_NODES
);
}
public function testRenderBlockOptimizer()
{
$env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]);