forked from wgroeneveld/go-jamming
wmio import: also trim name and add extra tests
This commit is contained in:
parent
6503037098
commit
92252f8bc9
|
@ -118,10 +118,11 @@ func sourceOf(wmio WebmentionIOMention) string {
|
|||
}
|
||||
|
||||
func nameOf(wmio WebmentionIOMention, iType mf.MfType) string {
|
||||
name := wmio.Data.Name
|
||||
if (iType == mf.TypeReply || iType == mf.TypeLike) && wmio.Data.Name == "" {
|
||||
return wmio.Data.Content
|
||||
name = wmio.Data.Content
|
||||
}
|
||||
return wmio.Data.Name
|
||||
return common.Shorten(name)
|
||||
}
|
||||
|
||||
func contentOf(wmio WebmentionIOMention, iType mf.MfType) string {
|
||||
|
|
|
@ -7,6 +7,54 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
func TestTryImportName(t *testing.T) {
|
||||
wmio := &WebmentionIOImporter{}
|
||||
cases := []struct {
|
||||
label string
|
||||
mention string
|
||||
expectedDate string
|
||||
}{
|
||||
{
|
||||
"Just use name",
|
||||
`{ "links": [ { "data": { "name": "jefke" } } ] }`,
|
||||
"jefke",
|
||||
},
|
||||
{
|
||||
"Trim name if longer than 250 chars",
|
||||
`{ "links": [ { "data": { "name": "a;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfj" } } ] }`,
|
||||
"a;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;askdfj;alskdfja;dslfkja;dlfkja;ldkfja;ldkfjla;dkfja;ldkjfa;ldkjfl;...",
|
||||
},
|
||||
{
|
||||
"Use content if name is empty in case of reply",
|
||||
`{ "links": [ { "activity": { "type": "reply" }, "data": { "name": "", "content": "wouter" } } ] }`,
|
||||
"wouter",
|
||||
},
|
||||
{
|
||||
"Use content if name is empty in case of like",
|
||||
`{ "links": [ { "activity": { "type": "like" }, "data": { "name": "", "content": "wouter" } } ] }`,
|
||||
"wouter",
|
||||
},
|
||||
{
|
||||
"Use name if name is not empty in case of reply",
|
||||
`{ "links": [ { "activity": { "type": "reply" }, "data": { "name": "jef", "content": "wouter" } } ] }`,
|
||||
"jef",
|
||||
}, {
|
||||
"Use name if name is not empty in case of like",
|
||||
`{ "links": [ { "activity": { "type": "like" }, "data": { "name": "jef", "content": "wouter" } } ] }`,
|
||||
"jef",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
t.Run(tc.label, func(t *testing.T) {
|
||||
res, err := wmio.TryImport([]byte(tc.mention))
|
||||
assert.NoError(t, err)
|
||||
|
||||
assert.Equal(t, tc.expectedDate, res[0].Name)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestTryImportBridgyUrl(t *testing.T) {
|
||||
wmio := &WebmentionIOImporter{}
|
||||
cases := []struct {
|
||||
|
|
Loading…
Reference in New Issue