Fabien Potencier
17997cf7fc
minor #4214 Add test about Environment version constants. (VincentLanglet)
...
This PR was merged into the 3.x branch.
Discussion
----------
Add test about Environment version constants.
Hi `@fabpot`
The Environment Version constants seems to be manually updated.
https://github.com/twigphp/Twig/blob/fe36e084b4e208c44e30886053c8594bb99bd78f/src/Environment.php#L46-L51
A mistake was made on the 3.11 version, the MAJOR_VERSION was set to 4 instead of 3
https://github.com/twigphp/Twig/blob/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d/src/Environment.php#L48
It was fixed in another version, but I think it could be useful to have some test about the consistency of all those constants.
Such test would have fail for the 3.11 version and avoid the mistake.
Commits
-------
254abc8c Add test about version
2024-08-19 08:48:36 +02:00
Fabien Potencier
675cb2d141
Fix CS
2024-08-18 19:25:19 +02:00
Vincent Langlet
254abc8c4c
Add test about version
2024-08-18 18:25:33 +02:00
Fabien Potencier
84116e5ff7
Fix typos in CHANGELOG
2024-08-18 17:52:16 +02:00
Fabien Potencier
0c30e78b1c
Add support for named arguments on special functions
2024-08-16 08:37:24 +02:00
Fabien Potencier
0823d23488
Throw a SyntaxError exception at compile time when a Twig callable has not the minimum number of required arguments
2024-08-15 23:00:02 +02:00
Fabien Potencier
e1705f8831
Extract a new CallableArgumentsExtractor class
2024-08-15 20:37:59 +02:00
Fabien Potencier
b431ecad3a
Make Node::__toString() more readable
2024-08-15 20:18:30 +02:00
Fabien Potencier
3156d8093e
Move FunctionExpression/FilterExpression/TestExpression attributes from compilation time to parsing time
2024-08-14 18:45:35 +02:00
Fabien Potencier
148d3e079d
Make various optimization for dynamic Twig callables
2024-08-12 09:45:32 +02:00
Simon André
03012f190f
(minor) Prefer className over classname
...
For consistency with how it's written in the tested classes.
2024-08-12 08:16:07 +02:00
Ruud Kamphuis
c6656cf5d0
Deprecate unnecessary escape characters
...
See #4123 #2712
This allows to change the implementation in v4 so that we no longer have to escape backslashes.
2024-08-11 16:21:05 +02:00
Fabien Potencier
8a8f22131c
Simplify tests
2024-08-10 18:25:26 +02:00
Fabien Potencier
38250b91ca
Add more tests to the Lexer
2024-08-10 12:17:25 +02:00
Christophe Coevoet
ff4d01f940
Implement the enum_cases function
...
The implementation contains an optimized implementation of the function
for the common case of using a string literal as the argument. It will
validate the enum existence during compilation and compile the code to
use `MyEnum::cases()` directly.
2024-08-09 21:21:58 +02:00
Fabien Potencier
a5dc02bbc5
Fix integration tests when a test has more than on data/expect section and deprecations
2024-08-09 17:14:41 +02:00
Fabien Potencier
18894cf91e
Add the possibility to deprecate attributes and nodes on Node
2024-08-08 14:48:20 +02:00
Fabien Potencier
0ce79df5c4
Use trigger_deprecation() instead of trigger_error() for deprecations
2024-08-08 14:28:28 +02:00
Fabien Potencier
390c5a0b05
Remove debug info
2024-08-07 22:59:17 +02:00
Fabien Potencier
f5e10e10f1
Fix CS
2024-08-07 19:34:09 +02:00
Quentin D.
0dbe1d9f6d
Introduce ChainCache and ReadOnlyFilesystemCache
...
Signed-off-by: Quentin Devos <4972091+Okhoshi@users.noreply.github.com >
2024-08-07 14:31:56 +02:00
Fabien Potencier
fc64472145
Fix dumping callables on Node::__toString()
2024-08-04 16:35:01 +02:00
Fabien Potencier
fa3c341725
feature #3963 Add new "find" filter (smnandre)
...
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Add new "find" filter
This filter returns the first _value_ matching the given arrow function or null
Attempt to solve #3962
(open to any feedback)
Commits
-------
4e262511 Add new "find" filter
2024-08-04 13:39:13 +02:00
Simon André
4e26251193
Add new "find" filter
2024-08-04 13:39:10 +02:00
Simon André
df4e66f420
Fix EscaperRuntime namespace
...
From `Twig\Tests` to `Twig\Tests\Runtime`
2024-07-30 00:36:02 +02:00
Fabien Potencier
6e55b5f956
Simplify usage of RawFilter
2024-07-28 11:10:04 +02:00
Fabien Potencier
84b1b3e0b3
Remove magic handling of the raw filter
2024-07-27 20:37:22 +02:00
Fabien Potencier
0e6d717f2d
Fix optimizer mode validation in OptimizerNodeVisitor
2024-07-27 20:27:31 +02:00
Fabien Potencier
27f6171f2f
Add support for yielding from a generator in PrintNode
2024-07-27 16:57:14 +02:00
Fabien Potencier
ebcd5034ee
Refactor some tests
2024-07-24 08:44:11 +02:00
Fabien Potencier
a656293915
minor #4150 Replace template loader mocks by ArrayLoader (fabpot)
...
This PR was merged into the 3.x branch.
Discussion
----------
Replace template loader mocks by ArrayLoader
Commits
-------
e4e95f5b Replace template loader mocks by ArrayLoader
2024-07-24 08:31:51 +02:00
Fabien Potencier
e4e95f5b86
Replace template loader mocks by ArrayLoader
2024-07-24 08:27:23 +02:00
Fabien Potencier
d2eab12e70
Add support for first class callables
2024-07-14 13:56:14 +02:00
Fabien Potencier
133cbb7753
Add more tests
2024-07-09 10:19:44 +02:00
Fabien Potencier
2dacaadd98
Tweak code, tests, and docs for shuffle
2024-07-05 09:39:44 +02:00
sarah-eit
17430ae5ac
Add shuffle filter
2024-07-05 09:20:37 +02:00
Fabien Potencier
82d31319bb
Fix tests
2024-07-05 07:59:36 +02:00
Fabien Potencier
2f8219e691
Remove usage of uniqid
2024-07-01 18:40:58 +02:00
Pierre
c5c95a2d5c
Issue #3828 : Add sequence and mapping tests
2024-06-22 19:48:59 +02:00
Fabien Potencier
bc19f2f48e
Tweak
2024-06-22 19:37:52 +02:00
Fabien Potencier
c44be99a84
Rename array to sequence
2024-06-22 19:37:51 +02:00
Fabien Potencier
5157402a77
Rename hash to mapping
2024-06-22 19:36:24 +02:00
Fabien Potencier
b63bde3063
Optimize sprintf() calls for PHP 8.4
2024-06-21 08:16:55 +02:00
Fabien Potencier
04b1ad3ced
Fix old escaper signature + add docs
2024-05-13 18:21:17 +02:00
Fabien Potencier
1953f77844
Fix BC break on escaper extension
2024-05-11 21:02:20 +02:00
Fabien Potencier
f2c9795b26
Fix EscaperExtension constructor to not change from previous releases (will be the same in 4.x as well)
2024-05-04 18:27:46 +02:00
Fabien Potencier
59542c3caf
Fix wrong tests
2024-05-04 08:32:54 +02:00
Fabien Potencier
283475b102
Move some static extension methods to non-static
2024-05-01 13:48:35 +02:00
Fabien Potencier
c63f695e8a
Add needs_charset option for filters and functions
2024-05-01 13:12:48 +02:00
Fabien Potencier
16acdf69fe
Rename some internal methods
2024-05-01 10:19:22 +02:00