@@ -1280,3 +1280,65 @@ func (p *customCELProvider) FindStructFieldType(structType, fieldName string) (*
12801280func (p * customCELProvider ) NewValue (structType string , fields map [string ]ref.Val ) ref.Val {
12811281 return p .provider .NewValue (structType , fields )
12821282}
1283+
1284+ func TestCELTypeAdapter (t * testing.T ) {
1285+ env , err := NewEnv ()
1286+ if err != nil {
1287+ t .Fatalf ("NewEnv() failed: %v" , err )
1288+ }
1289+ adapter := env .CELTypeAdapter ()
1290+ if adapter == nil {
1291+ t .Error ("CELTypeAdapter() returned nil" )
1292+ }
1293+ }
1294+
1295+ type mockTypeProvider struct {
1296+ ref.TypeProvider
1297+ }
1298+
1299+ func TestMaybeInteropProvider_Error (t * testing.T ) {
1300+ _ , err := maybeInteropProvider (123 )
1301+ if err == nil {
1302+ t .Error ("maybeInteropProvider(int) should return error" )
1303+ }
1304+ }
1305+
1306+ func TestMaybeInteropProvider_LegacyTypeProvider (t * testing.T ) {
1307+ tp := & mockTypeProvider {}
1308+ p , err := maybeInteropProvider (tp )
1309+ if err != nil {
1310+ t .Fatalf ("maybeInteropProvider(mockTypeProvider) failed: %v" , err )
1311+ }
1312+ if _ , ok := p .(* interopCELTypeProvider ); ! ok {
1313+ t .Errorf ("expected *interopCELTypeProvider, got %T" , p )
1314+ }
1315+ }
1316+
1317+ func TestParserErrorRecoveryLimit (t * testing.T ) {
1318+ env , err := NewEnv (ParserErrorRecoveryLimit (10 ))
1319+ if err != nil {
1320+ t .Fatalf ("NewEnv(ParserErrorRecoveryLimit(10)) failed: %v" , err )
1321+ }
1322+ if env .limits [limitParseErrorRecovery ] != 10 {
1323+ t .Errorf ("limitParseErrorRecovery = %d, want 10" , env .limits [limitParseErrorRecovery ])
1324+ }
1325+ }
1326+
1327+ func TestEnableHiddenAccumulatorName (t * testing.T ) {
1328+ _ , err := NewEnv (EnableHiddenAccumulatorName (true ))
1329+ if err != nil {
1330+ t .Fatalf ("NewEnv(EnableHiddenAccumulatorName(true)) failed: %v" , err )
1331+ }
1332+ }
1333+
1334+ func TestDeclareContextProto_Duplicate (t * testing.T ) {
1335+ desc := (& proto3pb.TestAllTypes {}).ProtoReflect ().Descriptor ()
1336+ env , err := NewEnv (DeclareContextProto (desc ))
1337+ if err != nil {
1338+ t .Fatalf ("NewEnv(DeclareContextProto()) failed: %v" , err )
1339+ }
1340+ _ , err = DeclareContextProto (desc )(env )
1341+ if err == nil {
1342+ t .Error ("DeclareContextProto() twice should fail" )
1343+ }
1344+ }
0 commit comments