(t *testing.T)
| 509 | } |
| 510 | |
| 511 | func TestBuiltin_EnableBuiltin(t *testing.T) { |
| 512 | t.Run("via env", func(t *testing.T) { |
| 513 | env := map[string]any{ |
| 514 | "repeat": func() string { return "repeat" }, |
| 515 | } |
| 516 | program, err := expr.Compile(`len(repeat())`, expr.Env(env), expr.DisableAllBuiltins(), expr.EnableBuiltin("len")) |
| 517 | require.NoError(t, err) |
| 518 | |
| 519 | out, err := expr.Run(program, env) |
| 520 | require.NoError(t, err) |
| 521 | assert.Equal(t, 6, out) |
| 522 | }) |
| 523 | t.Run("via expr.Function", func(t *testing.T) { |
| 524 | fn := expr.Function("repeat", |
| 525 | func(params ...any) (any, error) { |
| 526 | return "repeat", nil |
| 527 | }, |
| 528 | new(func() string), |
| 529 | ) |
| 530 | program, err := expr.Compile(`len(repeat())`, fn, expr.DisableAllBuiltins(), expr.EnableBuiltin("len")) |
| 531 | require.NoError(t, err) |
| 532 | |
| 533 | out, err := expr.Run(program, nil) |
| 534 | require.NoError(t, err) |
| 535 | assert.Equal(t, 6, out) |
| 536 | }) |
| 537 | } |
| 538 | |
| 539 | func TestBuiltin_type(t *testing.T) { |
| 540 | type Foo struct{} |
nothing calls this directly
no test coverage detected
searching dependent graphs…