add new methods

This commit is contained in:
inhere
2019-04-01 18:31:10 +08:00
parent 4a6ba51993
commit 8ad0d26673
3 changed files with 18 additions and 3 deletions

View File

@@ -3,10 +3,11 @@ package event
import (
"bytes"
"fmt"
"github.com/stretchr/testify/assert"
"sync"
"testing"
"time"
"github.com/stretchr/testify/assert"
)
var emptyListener = func(e Event) error {
@@ -130,6 +131,9 @@ func TestOn(t *testing.T) {
assert.True(t, HasListeners("n1"))
assert.False(t, HasListeners("name"))
assert.NotEmpty(t, DefaultEM.Listeners())
assert.NotEmpty(t, DefaultEM.ListenersByName("n1"))
DefaultEM.RemoveListeners("n1")
assert.False(t, HasListeners("n1"))
}

View File

@@ -293,10 +293,20 @@ func (em *Manager) newBasicEvent(name string, data M) *BasicEvent {
// HasListeners has listeners for the event name.
func (em *Manager) HasListeners(name string) bool {
_, ok := em.listeners[name]
_, ok := em.listenedNames[name]
return ok
}
// Listeners get all listeners
func (em *Manager) Listeners() map[string]*ListenerQueue {
return em.listeners
}
// ListenersByName get listeners by given event name
func (em *Manager) ListenersByName(name string) *ListenerQueue {
return em.listeners[name]
}
// ListenersCount get listeners number for the event name.
func (em *Manager) ListenersCount(name string) int {
if lq, ok := em.listeners[name]; ok {

View File

@@ -3,8 +3,9 @@ package simpleevent
import (
"bytes"
"fmt"
"github.com/stretchr/testify/assert"
"testing"
"github.com/stretchr/testify/assert"
)
func TestEvent(t *testing.T) {