diff --git a/pres_muc.go b/pres_muc.go index 10d947e..b61f0ae 100644 --- a/pres_muc.go +++ b/pres_muc.go @@ -18,10 +18,10 @@ type MucPresence struct { // History implements XEP-0045: Multi-User Chat - 19.1 type History struct { - MaxChars int `xml:"maxchars,attr,omitempty"` - MaxStanzas int `xml:"maxstanzas,attr,omitempty"` - Seconds int `xml:"seconds,attr,omitempty"` - Since time.Time `xml:"since,attr,omitempty"` + MaxChars *int `xml:"maxchars,attr,omitempty"` + MaxStanzas *int `xml:"maxstanzas,attr,omitempty"` + Seconds *int `xml:"seconds,attr,omitempty"` + Since *time.Time `xml:"since,attr,omitempty"` } func init() { diff --git a/pres_muc_test.go b/pres_muc_test.go index 7200fc0..532bc0a 100644 --- a/pres_muc_test.go +++ b/pres_muc_test.go @@ -54,30 +54,32 @@ func TestMucHistory(t *testing.T) { t.Error("muc presence extension was not found") } - if muc.History.MaxStanzas != 20 { + if *muc.History.MaxStanzas != 20 { t.Errorf("incorrect max stanza: '%d'", muc.History.MaxStanzas) } } // https://xmpp.org/extensions/xep-0045.html#example-37 func TestMucNoHistory(t *testing.T) { - str := ` - - - -` + str := "" + + "" + + "" + + "" + + "" + + maxstanzas := 0 pres := xmpp.Presence{Attrs: xmpp.Attrs{ - From: "hag66@shakespeare.lit/pda", - Id: "n13mt3l", - To: "coven@chat.shakespeare.lit/thirdwitch", - }, + From: "hag66@shakespeare.lit/pda", + Id: "n13mt3l", + To: "coven@chat.shakespeare.lit/thirdwitch", + }, Extensions: []xmpp.PresExtension{ xmpp.MucPresence{ - History: xmpp.History{MaxStanzas: 0}, + History: xmpp.History{MaxStanzas: &maxstanzas}, }, }, } @@ -86,7 +88,7 @@ func TestMucNoHistory(t *testing.T) { t.Error("error on encode:", err) } - if data != str { - t.Errorf("incorrect max stanza: '%d'", muc.History.MaxStanzas) + if string(data) != str { + t.Errorf("incorrect stanza: \n%s\n%s", str, data) } }