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 {
|
func nameOf(wmio WebmentionIOMention, iType mf.MfType) string {
|
||||||
|
name := wmio.Data.Name
|
||||||
if (iType == mf.TypeReply || iType == mf.TypeLike) && 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 {
|
func contentOf(wmio WebmentionIOMention, iType mf.MfType) string {
|
||||||
|
|
|
@ -7,6 +7,54 @@ import (
|
||||||
"time"
|
"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) {
|
func TestTryImportBridgyUrl(t *testing.T) {
|
||||||
wmio := &WebmentionIOImporter{}
|
wmio := &WebmentionIOImporter{}
|
||||||
cases := []struct {
|
cases := []struct {
|
||||||
|
|
Loading…
Reference in New Issue