mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 17:47:03 +00:00
Added a decodeSection function to mime.go that uses go-qprintable to parse quoted-printable emails or MIME parts, fixes #7 Added a very basic TextToHtml converter to provide nicer rending of text message bodies.
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package inbucket
|
|
|
|
import (
|
|
"github.com/stretchrcom/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseMailboxName(t *testing.T) {
|
|
in, out := "MailBOX", "mailbox"
|
|
if x := ParseMailboxName(in); x != out {
|
|
t.Errorf("ParseMailboxName(%v) = %v, want %v", in, x, out)
|
|
}
|
|
|
|
in, out = "MailBox@Host.Com", "mailbox"
|
|
if x := ParseMailboxName(in); x != out {
|
|
t.Errorf("ParseMailboxName(%v) = %v, want %v", in, x, out)
|
|
}
|
|
|
|
in, out = "Mail+extra@Host.Com", "mail"
|
|
if x := ParseMailboxName(in); x != out {
|
|
t.Errorf("ParseMailboxName(%v) = %v, want %v", in, x, out)
|
|
}
|
|
}
|
|
|
|
func TestHashMailboxName(t *testing.T) {
|
|
in, out := "mail", "1d6e1cf70ec6f9ab28d3ea4b27a49a77654d370e"
|
|
if x := HashMailboxName(in); x != out {
|
|
t.Errorf("HashMailboxName(%v) = %v, want %v", in, x, out)
|
|
}
|
|
}
|
|
|
|
func TestTextToHtml(t *testing.T) {
|
|
// Identity
|
|
assert.Equal(t, TextToHtml("html"), "html")
|
|
|
|
// Check it escapes
|
|
assert.Equal(t, TextToHtml("<html>"), "<html>")
|
|
|
|
// Check for linebreaks
|
|
assert.Equal(t, TextToHtml("line\nbreak"), "line<br/>\nbreak")
|
|
assert.Equal(t, TextToHtml("line\r\nbreak"), "line<br/>\nbreak")
|
|
assert.Equal(t, TextToHtml("line\rbreak"), "line<br/>\nbreak")
|
|
}
|
|
|