src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/eval/hook_test.elvts (about)

     1  //each:call-hook-in-global
     2  
     3  ~> call-hook test-hook [{ echo hook1 } { echo hook2 }]
     4  hook1
     5  hook2
     6  // Arguments
     7  ~> call-hook test-hook [{|x| echo hook$x }] foo
     8  hookfoo
     9  // Invalid hook list
    10  ~> call-hook test-hook [not-a-fn]
    11  hook test-hook[0] must be callable
    12  // Exception thrown from hook prints the exception to port 2, rather than being
    13  // propagated
    14  ~> call-hook test-hook [{ fail bad }]
    15     echo after call-hook >&2
    16  Exception: bad
    17    [tty]:1:24-32: call-hook test-hook [{ fail bad }]
    18  after call-hook