1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
package revel_test
import (
"github.com/revel/revel"
"github.com/stretchr/testify/assert"
"testing"
)
// Test that the event handler can be attached and it dispatches the event received
func TestEventHandler(t *testing.T) {
counter := 0
newListener := func(typeOf revel.Event, value interface{}) (responseOf revel.EventResponse) {
if typeOf == revel.REVEL_FAILURE {
counter++
}
return
}
// Attach the same handlder twice so we expect to see the response twice as well
revel.AddInitEventHandler(newListener)
revel.AddInitEventHandler(newListener)
revel.RaiseEvent(revel.REVEL_AFTER_MODULES_LOADED, nil)
revel.RaiseEvent(revel.REVEL_FAILURE, nil)
assert.Equal(t, counter, 2, "Expected event handler to have been called")
}
|