Skip to content

Commit

Permalink
update some tests
Browse files Browse the repository at this point in the history
  • Loading branch information
inhere committed Mar 11, 2021
1 parent d79fad3 commit b94e413
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 24 deletions.
7 changes: 5 additions & 2 deletions all_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@ func TestFireEvent(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t, "event: evt1, params: n=inhere", buf.String())
buf.Reset()

AsyncFire(evt1)
time.Sleep(time.Second)
assert.Equal(t, "event: evt1, params: n=inhere", buf.String())
}

func TestMustFire(t *testing.T) {
Expand All @@ -206,7 +210,7 @@ func TestMustFire(t *testing.T) {

func TestManager_FireEvent(t *testing.T) {
em := NewManager("test")
em.EnableLock()
em.EnableLock = true

e1 := NewBasic("e1", nil)
em.AddEvent(e1)
Expand All @@ -229,7 +233,6 @@ func TestManager_FireEvent(t *testing.T) {
func TestManager_FireEvent2(t *testing.T) {
buf := new(bytes.Buffer)
mgr := NewManager("test")
mgr.DisableLock()

evt1 := NewBasic("evt1", nil).Fill(nil, M{"n": "inhere"})
mgr.AddEvent(evt1)
Expand Down
32 changes: 10 additions & 22 deletions manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ type ManagerFace interface {
// Manager event manager definition. for manage events and listeners
type Manager struct {
sync.Mutex
// enable lock on fire event.
enableLock bool
// EnableLock enable lock on fire event.
EnableLock bool
// name of the manager
name string
// pool sync.Pool
Expand Down Expand Up @@ -59,16 +59,6 @@ func NewManager(name string) *Manager {
return em
}

// EnableLock of the manager.
func (em *Manager) EnableLock() {
em.enableLock = true
}

// DisableLock of the manager.
func (em *Manager) DisableLock() {
em.enableLock = false
}

/*************************************************************
* Listener Manage: - register listener
*************************************************************/
Expand Down Expand Up @@ -165,16 +155,9 @@ func (em *Manager) Fire(name string, params M) (err error, e Event) {
name = goodName(name)

// not found listeners.
if false == em.HasListeners(name) {
// NOTICE: must check the '*' global listeners
if name != Wildcard && false == em.HasListeners(Wildcard) {
return
}
}

if em.enableLock {
em.Lock()
defer em.Unlock()
// NOTICE: must check the '*' global listeners
if false == em.HasListeners(name) && false == em.HasListeners(Wildcard) {
return
}

// call listeners use defined Event
Expand Down Expand Up @@ -235,6 +218,11 @@ func (em *Manager) FireBatch(es ...interface{}) (ers []error) {

// FireEvent fire event by given Event instance
func (em *Manager) FireEvent(e Event) (err error) {
if em.EnableLock {
em.Lock()
defer em.Unlock()
}

// ensure aborted is false.
e.Abort(false)
name := e.Name()
Expand Down

0 comments on commit b94e413

Please sign in to comment.