@@ -80,6 +80,7 @@ private static Cel setupEnv(CelBuilder celBuilder) {
8080 return celBuilder
8181 .addVar ("x" , SimpleType .DYN )
8282 .addVar ("y" , SimpleType .DYN )
83+ .addVar ("bool_var" , SimpleType .BOOL )
8384 .addVar ("list_var" , ListType .create (SimpleType .STRING ))
8485 .addVar ("map_var" , MapType .create (SimpleType .STRING , SimpleType .STRING ))
8586 .setStandardMacros (CelStandardMacro .STANDARD_MACROS )
@@ -127,17 +128,14 @@ private static Cel setupEnv(CelBuilder celBuilder) {
127128 @ TestParameters ("{source: 'false || false', expected: 'false'}" )
128129 @ TestParameters ("{source: 'true && false || true', expected: 'true'}" )
129130 @ TestParameters ("{source: 'false && true || false', expected: 'false'}" )
130- @ TestParameters ("{source: 'true && x ', expected: 'x '}" )
131- @ TestParameters ("{source: 'x && true', expected: 'x '}" )
131+ @ TestParameters ("{source: 'true && bool_var ', expected: 'bool_var '}" )
132+ @ TestParameters ("{source: 'bool_var && true', expected: 'bool_var '}" )
132133 @ TestParameters ("{source: 'false && x', expected: 'false'}" )
133134 @ TestParameters ("{source: 'x && false', expected: 'false'}" )
134135 @ TestParameters ("{source: 'true || x', expected: 'true'}" )
135136 @ TestParameters ("{source: 'x || true', expected: 'true'}" )
136- @ TestParameters ("{source: 'false || x', expected: 'x'}" )
137- @ TestParameters ("{source: 'x || false', expected: 'x'}" )
138- @ TestParameters ("{source: 'true && x && true && x', expected: 'x && x'}" )
139- @ TestParameters ("{source: 'false || x || false || x', expected: 'x || x'}" )
140- @ TestParameters ("{source: 'false || x || false || y', expected: 'x || y'}" )
137+ @ TestParameters ("{source: 'false || bool_var', expected: 'bool_var'}" )
138+ @ TestParameters ("{source: 'bool_var || false', expected: 'bool_var'}" )
141139 @ TestParameters ("{source: 'true ? x + 1 : x + 2', expected: 'x + 1'}" )
142140 @ TestParameters ("{source: 'false ? x + 1 : x + 2', expected: 'x + 2'}" )
143141 @ TestParameters (
@@ -498,6 +496,13 @@ public void constantFold_macros_withoutMacroCallMetadata(String source) throws E
498496 @ TestParameters ("{source: '[true].exists(x, x == get_true())'}" )
499497 @ TestParameters ("{source: 'get_list([1, 2]).map(x, x * 2)'}" )
500498 @ TestParameters ("{source: '[(x - 1 > 3) ? (x - 1) : 5].exists(x, x - 1 > 3)'}" )
499+ @ TestParameters ("{source: 'true && x'}" )
500+ @ TestParameters ("{source: 'x && true'}" )
501+ @ TestParameters ("{source: 'false || x'}" )
502+ @ TestParameters ("{source: 'x || false'}" )
503+ @ TestParameters ("{source: 'true && x && true && x'}" )
504+ @ TestParameters ("{source: 'false || x || false || x'}" )
505+ @ TestParameters ("{source: 'false || x || false || y'}" )
501506 public void constantFold_noOp (String source ) throws Exception {
502507 CelAbstractSyntaxTree ast = cel .compile (source ).getAst ();
503508
0 commit comments