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

Function TestStrings

ext/strings_test.go:324–367  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

322}
323
324func TestStrings(t *testing.T) {
325 env, err := cel.NewEnv(Strings())
326 if err != nil {
327 t.Fatalf("cel.NewEnv(Strings()) failed: %v", err)
328 }
329 for i, tst := range stringTests {
330 tc := tst
331 t.Run(fmt.Sprintf("[%d]", i), func(t *testing.T) {
332 var asts []*cel.Ast
333 pAst, iss := env.Parse(tc.expr)
334 if iss.Err() != nil {
335 t.Fatalf("env.Parse(%v) failed: %v", tc.expr, iss.Err())
336 }
337 asts = append(asts, pAst)
338 if !tc.parseOnly {
339 cAst, iss := env.Check(pAst)
340 if iss.Err() != nil {
341 t.Fatalf("env.Check(%v) failed: %v", tc.expr, iss.Err())
342 }
343 asts = append(asts, cAst)
344 }
345 for _, ast := range asts {
346 prg, err := env.Program(ast)
347 if err != nil {
348 t.Fatal(err)
349 }
350 out, _, err := prg.Eval(cel.NoVars())
351 if tc.err != "" {
352 if err == nil {
353 t.Fatalf("got value %v, wanted error %s for expr: %s",
354 out.Value(), tc.err, tc.expr)
355 }
356 if !strings.Contains(err.Error(), tc.err) {
357 t.Errorf("got %q, expected error to contain %q for expr: %s", err, tc.err, tc.expr)
358 }
359 } else if err != nil {
360 t.Fatal(err)
361 } else if out.Value() != true {
362 t.Errorf("got %v, wanted true for expr: %s", out.Value(), tc.expr)
363 }
364 }
365 })
366 }
367}
368
369func TestStringsVersions(t *testing.T) {
370 versionCases := []struct {

Callers

nothing calls this directly

Calls 11

ParseMethod · 0.95
CheckMethod · 0.95
ProgramMethod · 0.95
NewEnvFunction · 0.92
NoVarsFunction · 0.92
StringsFunction · 0.85
ErrMethod · 0.80
EvalMethod · 0.65
ValueMethod · 0.65
ContainsMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected