MCPcopy Create free account
hub / github.com/cel-expr/cel-go / testParse

Function testParse

cel/decls_test.go:965–990  ·  view source on GitHub ↗
(t testing.TB, env *Env, expr string, want any)

Source from the content-addressed store, hash-verified

963}
964
965func testParse(t testing.TB, env *Env, expr string, want any) {
966 t.Helper()
967 ast, iss := env.Parse(expr)
968 if iss.Err() != nil {
969 t.Fatalf("env.Parse(%s) failed: %v", expr, iss.Err())
970 }
971 prg, err := env.Program(ast)
972 if err != nil {
973 t.Fatalf("env.Program() failed: %v", err)
974 }
975 out, _, err := prg.Eval(map[string]any{"err": types.NewErr("error argument"), "unk": types.NewUnknown(42, nil)})
976 switch want := want.(type) {
977 case *types.Unknown:
978 if !want.Contains(out.(*types.Unknown)) {
979 t.Errorf("prg.Eval() got %v, wanted %v", out, want)
980 }
981 case ref.Val:
982 if want.Equal(out) != types.True {
983 t.Errorf("prg.Eval() got %v, wanted %v", out, want)
984 }
985 case error:
986 if err == nil || want.Error() != err.Error() {
987 t.Errorf("prg.Eval() got error '%v', wanted '%v'", err, want)
988 }
989 }
990}
991
992func testCompile(t testing.TB, env *Env, expr string, want any) {
993 t.Helper()

Callers 2

TestFunctionBindingFunction · 0.85

Calls 9

NewErrFunction · 0.92
NewUnknownFunction · 0.92
ErrMethod · 0.80
ProgramMethod · 0.80
ParseMethod · 0.65
EvalMethod · 0.65
ContainsMethod · 0.65
EqualMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected