Refactor and add additional default filter tests

This commit is contained in:
nikic
2011-06-10 16:50:20 +02:00
parent e760483287
commit f2a1c2b539
+54 -17
View File
@@ -1,22 +1,59 @@
--TEST--
"default" filter
--TEMPLATE--
{{ foo|default('bar') }}
{{ bar|default('foo') }}
{{ baz.foo|default('bar') }}
{{ baz.bar|default('foo') }}
{{ not_defined|default('bar') }}
{{ 'a' ~ foo|default('b') }}
{{ 'a' ~ baz.foo|default('b') }}
{{ 0|default('bar') }}
Variable:
{{ definedVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
{{ zeroVar |default('default') is sameas('default') ? 'ko' : 'ok' }}
{{ emptyVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
{{ nullVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
{{ undefinedVar |default('default') is sameas('default') ? 'ok' : 'ko' }}
Array access:
{{ 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--
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--
bar
bar
bar
bar
bar
ab
ab
0
Variable:
ok
ok
ok
ok
ok
Array access:
ok
ok
ok
ok
ok
ok
Plain values:
ok
ok
ok
ok
Precedence:
ok
ok