parent
2176147dec
commit
b66aeac966
|
@ -633,8 +633,8 @@ func ParseMessage2(msg string, sectionID int, sectionType string, settings *Pars
|
|||
case 'h', 'f', 'g', '/':
|
||||
//fmt.Println("s3")
|
||||
fch := msg[i+1]
|
||||
if fch == 't' && len(msg) > i+5 && msg[i+2] == 't' && msg[i+3] == 'p' {
|
||||
if len(msg) > i+6 && msg[i+4] == 's' && msg[i+5] == ':' && msg[i+6] == '/' {
|
||||
if msg[i] == 'h' && fch == 't' && len(msg) > i+5 && msg[i+2] == 't' && msg[i+3] == 'p' {
|
||||
if msg[i+4] == 's' && msg[i+5] == ':' && len(msg) > i+6 && msg[i+6] == '/' {
|
||||
// Do nothing
|
||||
} else if msg[i+4] == ':' && msg[i+5] == '/' {
|
||||
// Do nothing
|
||||
|
@ -642,16 +642,16 @@ func ParseMessage2(msg string, sectionID int, sectionType string, settings *Pars
|
|||
continue
|
||||
}
|
||||
} else if len(msg) > i+4 {
|
||||
if fch == 't' && msg[i+2] == 'p' && msg[i+3] == ':' && msg[i+4] == '/' {
|
||||
if fch == 't' && msg[i+2] == 'p' && msg[i+3] == ':' && msg[i+4] == '/' && msg[i] == 'f' {
|
||||
// Do nothing
|
||||
} else if fch == 'i' && msg[i+2] == 't' && msg[i+3] == ':' && msg[i+4] == '/' {
|
||||
} else if fch == 'i' && msg[i+2] == 't' && msg[i+3] == ':' && msg[i+4] == '/' && msg[i] == 'g' {
|
||||
// Do nothing
|
||||
} else if fch == '/' {
|
||||
} else if fch == '/' && msg[i] == '/' {
|
||||
// Do nothing
|
||||
} else {
|
||||
continue
|
||||
}
|
||||
} else if fch == '/' {
|
||||
} else if fch == '/' && msg[i] == '/' {
|
||||
// Do nothing
|
||||
} else {
|
||||
continue
|
||||
|
|
|
@ -197,16 +197,17 @@ func TestParser(t *testing.T) {
|
|||
l.Add("http:// t", "<red>[Invalid URL]</red> t")
|
||||
|
||||
l.Add("g", "g")
|
||||
l.Add("g/", "//") // todo: fix this
|
||||
l.Add("g/", "g/")
|
||||
l.Add("g//", "g//")
|
||||
l.Add("/g", "/g")
|
||||
l.Add("/gg", "/gg")
|
||||
l.Add("/g/", "/g/")
|
||||
l.Add("hi", "hi")
|
||||
l.Add("hit", "hit")
|
||||
l.Add("hit:", "hit:")
|
||||
l.Add("hit:/", "<a rel='ugc'href='hit:///'>/</a>") // todo: fix this
|
||||
l.Add("hit://", "<a rel='ugc'href='hit://'></a>") // todo: fix this
|
||||
l.Add("hit://t", "<a rel='ugc'href='hit://t'>t</a>") // todo: fix this
|
||||
l.Add("hit:/", "hit:/")
|
||||
l.Add("hit://", "hit://")
|
||||
l.Add("hit://t", "hit://t")
|
||||
l.Add("h", "h")
|
||||
l.Add("ht", "ht")
|
||||
l.Add("htt", "htt")
|
||||
|
@ -216,6 +217,9 @@ func TestParser(t *testing.T) {
|
|||
//t l.Add("http:/d", "http:/d")
|
||||
l.Add("http:d", "http:d")
|
||||
l.Add("https:", "https:")
|
||||
l.Add("gttps:", "gttps:")
|
||||
l.Add("gttps:/", "gttps:/")
|
||||
l.Add("gttps://", "gttps://")
|
||||
l.Add("ftp:", "ftp:")
|
||||
l.Add("git:", "git:")
|
||||
l.Add("ssh:", "ssh:")
|
||||
|
@ -424,6 +428,25 @@ func TestParser(t *testing.T) {
|
|||
c.Site.URL = pre
|
||||
c.Config.SslSchema = pre2
|
||||
|
||||
l = &METriList{nil}
|
||||
l.Add("//", "//")
|
||||
l.Add("//z", "//z")
|
||||
l.Add("//"+url, "//"+url)
|
||||
l.Add("https://www.youtube.com/watch?v=lalalalala&t=1", "https://www.youtube.com/watch?v=lalalalala&t=1")
|
||||
l.Add("#tid-1", "<a href='/topic/1'>#tid-1</a>")
|
||||
c.GuestUser.Perms.AutoLink = false
|
||||
for _, item := range l.Items {
|
||||
if res := c.ParseMessage(item.Msg, 1, "forums", nil, nil); res != item.Expects {
|
||||
if item.Name != "" {
|
||||
t.Error("Name: ", item.Name)
|
||||
}
|
||||
t.Error("Testing string '" + item.Msg + "'")
|
||||
t.Error("Bad output:", "'"+res+"'")
|
||||
t.Error("Expected:", "'"+item.Expects+"'")
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
c.AddHashLinkType("nnid-", func(sb *strings.Builder, msg string, i *int) {
|
||||
tid, intLen := c.CoerceIntString(msg[*i:])
|
||||
*i += intLen
|
||||
|
|
Loading…
Reference in New Issue