Merge pull request #97 from NickPresta/fix-names-command

Fixing /names from panic
This commit is contained in:
Andrey Petrov 2015-01-02 22:35:55 -08:00
commit 362d0fdffd
2 changed files with 27 additions and 1 deletions

View File

@ -168,7 +168,7 @@ func (ch *Channel) NamesPrefix(prefix string) []string {
members := ch.members.ListPrefix(prefix)
names := make([]string, len(members))
for i, u := range members {
names[i] = u.(*User).Name()
names[i] = u.(*Member).User.Name()
}
return names
}

View File

@ -56,3 +56,29 @@ func TestChannelJoin(t *testing.T) {
t.Errorf("Got: `%s`; Expected: `%s`", actual, expected)
}
}
func TestChannelNames(t *testing.T) {
var expected, actual []byte
s := &MockScreen{}
u := NewUser("foo")
ch := NewChannel()
go ch.Serve()
defer ch.Close()
err := ch.Join(u)
if err != nil {
t.Fatal(err)
}
<-ch.broadcast
ch.Send(ParseInput("/names", u))
u.ConsumeOne(s)
expected = []byte("-> 1 connected: foo" + Newline)
s.Read(&actual)
if !reflect.DeepEqual(actual, expected) {
t.Errorf("Got: `%s`; Expected: `%s`", actual, expected)
}
}