88 lines
2.3 KiB
Go
88 lines
2.3 KiB
Go
package httpaccept_test
|
|
|
|
import (
|
|
"sourcecode.social/reiver/go-httpaccept"
|
|
"sourcecode.social/reiver/go-httpaccept/mediarange"
|
|
|
|
"testing"
|
|
)
|
|
|
|
func TestHTTPAccept_String(t *testing.T) {
|
|
|
|
tests := []struct{
|
|
HTTPAccept httpaccept.HTTPAccept
|
|
Expected string
|
|
}{
|
|
{
|
|
HTTPAccept: httpaccept.Create(),
|
|
Expected: "",
|
|
},
|
|
|
|
|
|
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("", "")),
|
|
Expected: "Accept: */*"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("*", "*")),
|
|
Expected: "Accept: */*"+"\r\n",
|
|
},
|
|
|
|
|
|
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("text", "html"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,*/*"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("Text", "html"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,*/*"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("text", "Html"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,*/*"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("TEXT", "HTML"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,*/*"+"\r\n",
|
|
},
|
|
|
|
|
|
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("text", "html"), mediarange.Create("application", "xhtml+xml"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,application/xhtml+xml,*/*"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("TEXT", "HtmL"), mediarange.Create("APPlication", "XHtmL+XmL"), mediarange.Create("*", "*")),
|
|
Expected: "Accept: text/html,application/xhtml+xml,*/*"+"\r\n",
|
|
},
|
|
|
|
|
|
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("application", "activity+json")),
|
|
Expected: "Accept: application/activity+json"+"\r\n",
|
|
},
|
|
{
|
|
HTTPAccept: httpaccept.Create(mediarange.Create("application", "activity+json"), mediarange.Create("application", "json")),
|
|
Expected: "Accept: application/activity+json,application/json"+"\r\n",
|
|
},
|
|
}
|
|
|
|
for testNumber, test := range tests {
|
|
|
|
actual := test.HTTPAccept.String()
|
|
expected := test.Expected
|
|
|
|
if expected != actual {
|
|
t.Errorf("For test #%d, the actual (serialized) stringer value is not what was expected.", testNumber)
|
|
t.Logf("HTTP-ACCEPT: %#v", test.HTTPAccept)
|
|
t.Logf("EXPECTED: %q", expected)
|
|
t.Logf("ACTUAL: %q", actual)
|
|
continue
|
|
}
|
|
}
|
|
}
|