Files
nexus/internal/ircclient/ircclient_test.go
T

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")
}
}