| # | Feature | Result | Expected |
|---|---|---|---|
| T1 | set with hash + array | Hello AB | Hello AB |
| T2 | set … endset (block) | Block | Block |
| T3 | with | inside | inside |
| T5 | verbatim | {{ raw }} | shown literally |
| O1 | ~ concat, in, is defined, is empty | Smm-ok in def empty | Smm-ok in def empty |
| O2 | ternary + ?? | yes fallback | yes fallback |
| F1 | default | fallback | fallback |
| F2 | upper / lower / capitalize / title | SMM smm Abc A B | SMM smm Abc A B |
| F3 | replace | a+b | a+b |
| F4 | trim | [x] | [x] |
| F5 | striptags | bold | bold |
| F6 | slice | abc | abc |
| F7 | first / last | 13 | 13 |
| F8 | split | 3 | 3 |
| F9 | merge | 1,2 | 1,2 |
| F10 | keys | a,b | a,b |
| F11 | batch (grid rows) | [12][34] | [12][34] |
| F13 | number_format | 1,234.50 | 1,234.50 |
| F14 | round / abs | 3 3 | 3 3 |
| F15 | url_encode | a%20b%26c | a%20b%26c |
| F16 | nl2br | x y | x then y on next line |
| F17 | format | a-b | a-b |
| F18 | date | 2026 | current year |
| F19 | json_encode | {"a":"x\"y"} | {"a":"x\"y"} |
| F21 | raw | bold | bold text |
| F22 | no filter (auto-escape check) | bold | bold text = not auto-escaped |
| X1 | range | 123 | 123 |
| X2 | min / max | 24 | 24 |
| X3 | date() function | 2026 | current year |
site name = [smmservice.org] · protocol = [https] · domain = [smmservice.org] · iso lang = [en]
page title = [TEST TITLE] · page url = [/twig-capability-test]
seo_desc = [TEST DESC] · seo_key = [TEST KEYWORDS]
(Before running: open this test page in Appearance → Pages → Edit page SEO and type Page title = "TEST TITLE", Meta-description = "TEST DESC". The lines above then show which variables carry the per-page SEO fields.)