|
77 | 77 | import dev.cel.common.CelVarDecl; |
78 | 78 | import dev.cel.common.ast.CelExpr; |
79 | 79 | import dev.cel.common.ast.CelExpr.CelList; |
80 | | -import dev.cel.common.internal.ProtoTimeUtils; |
81 | 80 | import dev.cel.common.testing.RepeatedTestProvider; |
82 | 81 | import dev.cel.common.types.CelKind; |
83 | 82 | import dev.cel.common.types.CelProtoMessageTypes; |
|
114 | 113 | import dev.cel.runtime.CelVariableResolver; |
115 | 114 | import dev.cel.runtime.UnknownContext; |
116 | 115 | import dev.cel.testing.testdata.proto3.StandaloneGlobalEnum; |
| 116 | +import java.time.Instant; |
117 | 117 | import java.util.ArrayList; |
118 | 118 | import java.util.LinkedHashMap; |
119 | 119 | import java.util.List; |
@@ -817,27 +817,30 @@ public void program_messageConstruction() throws Exception { |
817 | 817 | public void program_duplicateTypeDescriptor() throws Exception { |
818 | 818 | Cel cel = |
819 | 819 | standardCelBuilderWithMacros() |
| 820 | + .setOptions(CelOptions.current().evaluateCanonicalTypesToNativeValues(true).build()) |
820 | 821 | .addMessageTypes(Timestamp.getDescriptor()) |
821 | 822 | .addMessageTypes(ImmutableList.of(Timestamp.getDescriptor())) |
822 | 823 | .setContainer(CelContainer.ofName("google")) |
823 | 824 | .setResultType(SimpleType.TIMESTAMP) |
824 | 825 | .build(); |
825 | 826 | CelRuntime.Program program = |
826 | 827 | cel.createProgram(cel.compile("protobuf.Timestamp{seconds: 12}").getAst()); |
827 | | - assertThat(program.eval()).isEqualTo(ProtoTimeUtils.fromSecondsToTimestamp(12)); |
| 828 | + |
| 829 | + assertThat(program.eval()).isEqualTo(Instant.ofEpochSecond(12)); |
828 | 830 | } |
829 | 831 |
|
830 | 832 | @Test |
831 | 833 | public void program_hermeticDescriptors_wellKnownProtobuf() throws Exception { |
832 | 834 | Cel cel = |
833 | 835 | standardCelBuilderWithMacros() |
| 836 | + .setOptions(CelOptions.current().evaluateCanonicalTypesToNativeValues(true).build()) |
834 | 837 | .addMessageTypes(Timestamp.getDescriptor()) |
835 | 838 | .setContainer(CelContainer.ofName("google")) |
836 | 839 | .setResultType(SimpleType.TIMESTAMP) |
837 | 840 | .build(); |
838 | 841 | CelRuntime.Program program = |
839 | 842 | cel.createProgram(cel.compile("protobuf.Timestamp{seconds: 12}").getAst()); |
840 | | - assertThat(program.eval()).isEqualTo(ProtoTimeUtils.fromSecondsToTimestamp(12)); |
| 843 | + assertThat(program.eval()).isEqualTo(Instant.ofEpochSecond(12)); |
841 | 844 | } |
842 | 845 |
|
843 | 846 | @Test |
@@ -959,14 +962,15 @@ public void program_deepTypeResolutionDisabledForRuntime_fails() throws Exceptio |
959 | 962 | public void program_typeProvider() throws Exception { |
960 | 963 | Cel cel = |
961 | 964 | standardCelBuilderWithMacros() |
| 965 | + .setOptions(CelOptions.current().evaluateCanonicalTypesToNativeValues(true).build()) |
962 | 966 | .setTypeProvider( |
963 | 967 | new DescriptorTypeProvider(ImmutableList.of(Timestamp.getDescriptor()))) |
964 | 968 | .setContainer(CelContainer.ofName("google")) |
965 | 969 | .setResultType(SimpleType.TIMESTAMP) |
966 | 970 | .build(); |
967 | 971 | CelRuntime.Program program = |
968 | 972 | cel.createProgram(cel.compile("protobuf.Timestamp{seconds: 12}").getAst()); |
969 | | - assertThat(program.eval()).isEqualTo(ProtoTimeUtils.fromSecondsToTimestamp(12)); |
| 973 | + assertThat(program.eval()).isEqualTo(Instant.ofEpochSecond(12)); |
970 | 974 | } |
971 | 975 |
|
972 | 976 | @Test |
|
0 commit comments