mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-13 10:56:38 +00:00
Refactor and add additional default filter tests
This commit is contained in:
@@ -1,22 +1,59 @@
|
|||||||
--TEST--
|
--TEST--
|
||||||
"default" filter
|
"default" filter
|
||||||
--TEMPLATE--
|
--TEMPLATE--
|
||||||
{{ foo|default('bar') }}
|
Variable:
|
||||||
{{ bar|default('foo') }}
|
{{ definedVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
{{ baz.foo|default('bar') }}
|
{{ zeroVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
{{ baz.bar|default('foo') }}
|
{{ emptyVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
{{ not_defined|default('bar') }}
|
{{ nullVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
{{ 'a' ~ foo|default('b') }}
|
{{ undefinedVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
{{ 'a' ~ baz.foo|default('b') }}
|
Array access:
|
||||||
{{ 0|default('bar') }}
|
{{ nested.definedVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
|
{{ nested.zeroVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
|
{{ nested.emptyVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
{{ nested.nullVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
{{ nested.undefinedVar|default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
{{ undefinedVar.foo |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
Plain values:
|
||||||
|
{{ 'defined' |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
|
{{ 0 |default('default') is sameas('default') ? 'ko' : 'ok' }}
|
||||||
|
{{ '' |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
{{ null |default('default') is sameas('default') ? 'ok' : 'ko' }}
|
||||||
|
Precedence:
|
||||||
|
{{ 'o' ~ nullVar|default('k') }}
|
||||||
|
{{ 'o' ~ nested.nullVar|default('k') }}
|
||||||
--DATA--
|
--DATA--
|
||||||
return array('foo' => null, 'bar' => 'bar', 'baz' => array('foo' => null, 'bar' => 'bar'))
|
return array(
|
||||||
|
'definedVar' => 'defined',
|
||||||
|
'zeroVar' => 0,
|
||||||
|
'emptyVar' => '',
|
||||||
|
'nullVar' => null,
|
||||||
|
'nested' => array(
|
||||||
|
'definedVar' => 'defined',
|
||||||
|
'zeroVar' => 0,
|
||||||
|
'emptyVar' => '',
|
||||||
|
'nullVar' => null,
|
||||||
|
),
|
||||||
|
)
|
||||||
--EXPECT--
|
--EXPECT--
|
||||||
bar
|
Variable:
|
||||||
bar
|
ok
|
||||||
bar
|
ok
|
||||||
bar
|
ok
|
||||||
bar
|
ok
|
||||||
ab
|
ok
|
||||||
ab
|
Array access:
|
||||||
0
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
Plain values:
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
ok
|
||||||
|
Precedence:
|
||||||
|
ok
|
||||||
|
ok
|
||||||
Reference in New Issue
Block a user