@@ -58,7 +58,8 @@ public class InliningOptimizerTest {
5858 "child" ,
5959 StructTypeReference .create (TestAllTypes .NestedMessage .getDescriptor ().getFullName ()))
6060 .addVar ("shadowed_ident" , SimpleType .INT )
61- .setOptions (CelOptions .current ().populateMacroCalls (true ).build ())
61+ .setOptions (
62+ CelOptions .current ().populateMacroCalls (true ).enableTimestampEpoch (true ).build ())
6263 .build ();
6364
6465 @ Test
@@ -129,6 +130,52 @@ private enum SuccessTestCase {
129130 /* inlineVarName= */ "msg.single_any.processing_purpose" ,
130131 /* replacementExpr= */ "[1, 2, 3]" ,
131132 /* expected= */ "[1, 2, 3].size() != 0" ),
133+ PRESENCE_WITH_INT_LITERAL_REWRITE (
134+ /* source= */ "has(msg.single_any.processing_purpose)" ,
135+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
136+ /* replacementExpr= */ "1" ,
137+ /* expected= */ "1 != 0" ),
138+ PRESENCE_WITH_UINT_LITERAL_REWRITE (
139+ /* source= */ "has(msg.single_any.processing_purpose)" ,
140+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
141+ /* replacementExpr= */ "1u" ,
142+ /* expected= */ "1u != 0u" ),
143+ PRESENCE_WITH_DOUBLE_LITERAL_REWRITE (
144+ /* source= */ "has(msg.single_any.processing_purpose)" ,
145+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
146+ /* replacementExpr= */ "1.5" ,
147+ /* expected= */ "1.5 != 0.0" ),
148+ PRESENCE_WITH_BOOL_LITERAL_REWRITE (
149+ /* source= */ "has(msg.single_any.processing_purpose)" ,
150+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
151+ /* replacementExpr= */ "true" ,
152+ /* expected= */ "true != false" ),
153+ PRESENCE_WITH_STRING_LITERAL_REWRITE (
154+ /* source= */ "has(msg.single_any.processing_purpose)" ,
155+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
156+ /* replacementExpr= */ "'foo'" ,
157+ /* expected= */ "\" foo\" .size() != 0" ),
158+ PRESENCE_WITH_BYTES_LITERAL_REWRITE (
159+ /* source= */ "has(msg.single_any.processing_purpose)" ,
160+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
161+ /* replacementExpr= */ "b'abc'" ,
162+ /* expected= */ "b\" \\ 141\\ 142\\ 143\" .size() != 0" ),
163+ PRESENCE_WITH_TIMESTAMP_LITERAL_REWRITE (
164+ /* source= */ "has(msg.single_any.processing_purpose)" ,
165+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
166+ /* replacementExpr= */ "timestamp(1)" ,
167+ /* expected= */ "timestamp(1) != timestamp(0)" ),
168+ PRESENCE_WITH_DURATION_LITERAL_REWRITE (
169+ /* source= */ "has(msg.single_any.processing_purpose)" ,
170+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
171+ /* replacementExpr= */ "duration('1h')" ,
172+ /* expected= */ "duration(\" 1h\" ) != duration(\" 0\" )" ),
173+ PRESENCE_WITH_PROTOBUF_MESSAGE_REWRITE (
174+ /* source= */ "has(msg.single_any.processing_purpose)" ,
175+ /* inlineVarName= */ "msg.single_any.processing_purpose" ,
176+ /* replacementExpr= */ "cel.expr.conformance.proto3.TestAllTypes{single_int64: 1}" ,
177+ /* expected= */ "cel.expr.conformance.proto3.TestAllTypes{single_int64: 1} !="
178+ + " cel.expr.conformance.proto3.TestAllTypes{}" ),
132179 NESTED_SELECT (
133180 /* source= */ "msg.standalone_message.bb" ,
134181 /* inlineVarName= */ "msg.standalone_message" ,
0 commit comments