29 lines
780 B
Go
29 lines
780 B
Go
package ircclient
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestRememberRoomMembershipTracksConfirmedChannels(t *testing.T) {
|
|
var updates []string
|
|
client := &Client{cfg: Config{
|
|
OnRoomsChanged: func(rooms []string) {
|
|
updates = append(updates, strings.Join(rooms, ","))
|
|
},
|
|
}}
|
|
|
|
client.rememberRoomMembership("#One", true)
|
|
client.rememberRoomMembership("#two", true)
|
|
client.rememberRoomMembership("#one", true)
|
|
client.rememberRoomMembership("#missing", false)
|
|
client.rememberRoomMembership("#ONE", false)
|
|
|
|
if got, want := strings.Join(updates, "|"), "#One|#One,#two|#two"; got != want {
|
|
t.Fatalf("room updates = %q, want %q", got, want)
|
|
}
|
|
if got := strings.Join(client.roomNames, ","); got != "#two" {
|
|
t.Fatalf("remembered rooms = %q, want %q", got, "#two")
|
|
}
|
|
}
|