package stanza_test import ( "encoding/xml" "testing" ) func TestHTMLGen(t *testing.T) { htmlBody := "

Hello World

" msg := NewMessage(Attrs{To: "test@localhost"}) msg.Body = "Hello World" body := HTMLBody{ InnerXML: htmlBody, } html := HTML{Body: body} msg.Extensions = append(msg.Extensions, html) result := msg.XMPPFormat() str := `Hello World

Hello World

` if result != str { t.Errorf("incorrect serialize message:\n%s", result) } parsedMessage := Message{} if err := xml.Unmarshal([]byte(str), &parsedMessage); err != nil { t.Errorf("message HTML unmarshall error: %v", err) return } if parsedMessage.Body != msg.Body { t.Errorf("incorrect parsed body: '%s'", parsedMessage.Body) } var h HTML if ok := parsedMessage.Get(&h); !ok { t.Error("could not extract HTML body") } if h.Body.InnerXML != htmlBody { t.Errorf("could not extract html body: '%s'", h.Body.InnerXML) } }