| 221 | } |
| 222 | |
| 223 | func TestHookFireOrder(t *testing.T) { |
| 224 | checkers := []string{} |
| 225 | h := LevelHooks{} |
| 226 | h.Add(&HookCallFunc{F: func() { checkers = append(checkers, "first hook") }}) |
| 227 | h.Add(&HookCallFunc{F: func() { checkers = append(checkers, "second hook") }}) |
| 228 | h.Add(&HookCallFunc{F: func() { checkers = append(checkers, "third hook") }}) |
| 229 | |
| 230 | if err := h.Fire(InfoLevel, &Entry{}); err != nil { |
| 231 | t.Error("unexpected error:", err) |
| 232 | } |
| 233 | require.Equal(t, []string{"first hook", "second hook", "third hook"}, checkers) |
| 234 | } |