--TEST-- Twig supports the in operator --TEMPLATE-- {% if bar in foo %} TRUE {% endif %} {% if not (bar in foo) %} {% else %} TRUE {% endif %} {% if bar not in foo %} {% else %} TRUE {% endif %} {% if 'a' in bar %} TRUE {% endif %} {% if 'c' not in bar %} TRUE {% endif %} {% if '' in bar %} TRUE {% endif %} {% if '' in '' %} TRUE {% endif %} {% if '0' not in '' %} TRUE {% endif %} {% if 'a' not in '0' %} TRUE {% endif %} {% if '0' in '0' %} TRUE {% endif %} {{ false in [0, 1] ? 'TRUE' : 'FALSE' }} {{ true in [0, 1] ? 'TRUE' : 'FALSE' }} {{ '0' in [0, 1] ? 'TRUE' : 'FALSE' }} {{ '' in [0, 1] ? 'TRUE' : 'FALSE' }} {{ 0 in ['', 1] ? 'TRUE' : 'FALSE' }} {{ '' in 'foo' ? 'TRUE' : 'FALSE' }} {{ 0 in 'foo' ? 'TRUE' : 'FALSE' }} {{ false in 'foo' ? 'TRUE' : 'FALSE' }} {{ false in '100' ? 'TRUE' : 'FALSE' }} {{ true in '100' ? 'TRUE' : 'FALSE' }} {{ [] in [true, false] ? 'TRUE' : 'FALSE' }} {{ [] in [true, ''] ? 'TRUE' : 'FALSE' }} {{ [] in [true, []] ? 'TRUE' : 'FALSE' }} {{ resource ? 'TRUE' : 'FALSE' }} {{ resource in 'foo'~resource ? 'TRUE' : 'FALSE' }} {{ object in 'stdClass' ? 'TRUE' : 'FALSE' }} {{ [] in 'Array' ? 'TRUE' : 'FALSE' }} {{ dir_object in 'foo'~dir_object ? 'TRUE' : 'FALSE' }} {{ ''~resource in resource ? 'TRUE' : 'FALSE' }} {{ 'stdClass' in object ? 'TRUE' : 'FALSE' }} {{ 'Array' in [] ? 'TRUE' : 'FALSE' }} {{ ''~dir_object in dir_object ? 'TRUE' : 'FALSE' }} {{ resource in [''~resource] ? 'TRUE' : 'FALSE' }} {{ resource in [resource + 1 - 1] ? 'TRUE' : 'FALSE' }} {{ dir_object in [''~dir_object] ? 'TRUE' : 'FALSE' }} {{ 5 in 125 ? 'TRUE' : 'FALSE' }} {{ 5 in '125' ? 'TRUE' : 'FALSE' }} {{ '5' in 125 ? 'TRUE' : 'FALSE' }} {{ '5' in '125' ? 'TRUE' : 'FALSE' }} {{ 5.5 in 125.5 ? 'TRUE' : 'FALSE' }} {{ 5.5 in '125.5' ? 'TRUE' : 'FALSE' }} {{ '5.5' in 125.5 ? 'TRUE' : 'FALSE' }} --DATA-- return ['bar' => 'bar', 'foo' => ['bar' => 'bar'], 'dir_object' => new \SplFileInfo(dirname(__FILE__)), 'object' => new \stdClass(), 'resource' => opendir(dirname(__FILE__))] --EXPECT-- TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE