11
11
12
12
namespace Symfony \Component \ExpressionLanguage \Tests \Node ;
13
13
14
- use Symfony \Component \ExpressionLanguage \Node \BinaryNode ;
15
14
use Symfony \Component \ExpressionLanguage \Node \ArrayNode ;
15
+ use Symfony \Component \ExpressionLanguage \Node \BinaryNode ;
16
16
use Symfony \Component \ExpressionLanguage \Node \ConstantNode ;
17
+ use Symfony \Component \ExpressionLanguage \Node \NameNode ;
18
+ use Symfony \Component \ExpressionLanguage \Tests \Fixtures \Collection ;
17
19
18
20
class BinaryNodeTest extends AbstractNodeTest
19
21
{
@@ -23,6 +25,8 @@ public function getEvaluateData()
23
25
$ array ->addElement (new ConstantNode ('a ' ));
24
26
$ array ->addElement (new ConstantNode ('b ' ));
25
27
28
+ $ collectionValues = array ('collection ' => new Collection ());
29
+
26
30
return array (
27
31
array (true , new BinaryNode ('or ' , new ConstantNode (true ), new ConstantNode (false ))),
28
32
array (true , new BinaryNode ('|| ' , new ConstantNode (true ), new ConstantNode (false ))),
@@ -56,9 +60,13 @@ public function getEvaluateData()
56
60
array ('ab ' , new BinaryNode ('~ ' , new ConstantNode ('a ' ), new ConstantNode ('b ' ))),
57
61
58
62
array (true , new BinaryNode ('in ' , new ConstantNode ('a ' ), $ array )),
63
+ array (true , new BinaryNode ('in ' , new ConstantNode ('a ' ), new NameNode ('collection ' )), $ collectionValues ),
59
64
array (false , new BinaryNode ('in ' , new ConstantNode ('c ' ), $ array )),
65
+ array (false , new BinaryNode ('in ' , new ConstantNode ('c ' ), new NameNode ('collection ' )), $ collectionValues ),
60
66
array (true , new BinaryNode ('not in ' , new ConstantNode ('c ' ), $ array )),
67
+ array (true , new BinaryNode ('not in ' , new ConstantNode ('c ' ), new NameNode ('collection ' )), $ collectionValues ),
61
68
array (false , new BinaryNode ('not in ' , new ConstantNode ('a ' ), $ array )),
69
+ array (false , new BinaryNode ('not in ' , new ConstantNode ('a ' ), new NameNode ('collection ' )), $ collectionValues ),
62
70
63
71
array (array (1 , 2 , 3 ), new BinaryNode ('.. ' , new ConstantNode (1 ), new ConstantNode (3 ))),
64
72
@@ -104,10 +112,10 @@ public function getCompileData()
104
112
array ('pow(5, 2) ' , new BinaryNode ('** ' , new ConstantNode (5 ), new ConstantNode (2 ))),
105
113
array ('("a" . "b") ' , new BinaryNode ('~ ' , new ConstantNode ('a ' ), new ConstantNode ('b ' ))),
106
114
107
- array ('in_array("a", array(0 => "a", 1 => "b")) ' , new BinaryNode ('in ' , new ConstantNode ('a ' ), $ array )),
108
- array ('in_array("c", array(0 => "a", 1 => "b")) ' , new BinaryNode ('in ' , new ConstantNode ('c ' ), $ array )),
109
- array ('!in_array("c", array(0 => "a", 1 => "b")) ' , new BinaryNode ('not in ' , new ConstantNode ('c ' ), $ array )),
110
- array ('!in_array("a", array(0 => "a", 1 => "b")) ' , new BinaryNode ('not in ' , new ConstantNode ('a ' ), $ array )),
115
+ array ('in_array("a", is_array( array(0 => "a", 1 => "b")) ? array(0 => "a", 1 => "b") : iterator_to_array(array(0 => "a", 1 => "b") )) ' , new BinaryNode ('in ' , new ConstantNode ('a ' ), $ array )),
116
+ array ('in_array("c", is_array( array(0 => "a", 1 => "b")) ? array(0 => "a", 1 => "b") : iterator_to_array(array(0 => "a", 1 => "b") )) ' , new BinaryNode ('in ' , new ConstantNode ('c ' ), $ array )),
117
+ array ('!in_array("c", is_array( array(0 => "a", 1 => "b")) ? array(0 => "a", 1 => "b") : iterator_to_array(array(0 => "a", 1 => "b") )) ' , new BinaryNode ('not in ' , new ConstantNode ('c ' ), $ array )),
118
+ array ('!in_array("a", is_array( array(0 => "a", 1 => "b")) ? array(0 => "a", 1 => "b") : iterator_to_array(array(0 => "a", 1 => "b") )) ' , new BinaryNode ('not in ' , new ConstantNode ('a ' ), $ array )),
111
119
112
120
array ('range(1, 3) ' , new BinaryNode ('.. ' , new ConstantNode (1 ), new ConstantNode (3 ))),
113
121
0 commit comments