parent
2176147dec
commit
b66aeac966
|
@ -633,8 +633,8 @@ func ParseMessage2(msg string, sectionID int, sectionType string, settings *Pars
|
||||||
case 'h', 'f', 'g', '/':
|
case 'h', 'f', 'g', '/':
|
||||||
//fmt.Println("s3")
|
//fmt.Println("s3")
|
||||||
fch := msg[i+1]
|
fch := msg[i+1]
|
||||||
if fch == 't' && len(msg) > i+5 && msg[i+2] == 't' && msg[i+3] == 'p' {
|
if msg[i] == 'h' && 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+4] == 's' && msg[i+5] == ':' && len(msg) > i+6 && msg[i+6] == '/' {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
} else if msg[i+4] == ':' && msg[i+5] == '/' {
|
} else if msg[i+4] == ':' && msg[i+5] == '/' {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
|
@ -642,16 +642,16 @@ func ParseMessage2(msg string, sectionID int, sectionType string, settings *Pars
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
} else if len(msg) > i+4 {
|
} 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
|
// 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
|
// Do nothing
|
||||||
} else if fch == '/' {
|
} else if fch == '/' && msg[i] == '/' {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
} else {
|
} else {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
} else if fch == '/' {
|
} else if fch == '/' && msg[i] == '/' {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
} else {
|
} else {
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -197,16 +197,17 @@ func TestParser(t *testing.T) {
|
||||||
l.Add("http:// t", "<red>[Invalid URL]</red> t")
|
l.Add("http:// t", "<red>[Invalid URL]</red> t")
|
||||||
|
|
||||||
l.Add("g", "g")
|
l.Add("g", "g")
|
||||||
l.Add("g/", "//") // todo: fix this
|
l.Add("g/", "g/")
|
||||||
|
l.Add("g//", "g//")
|
||||||
l.Add("/g", "/g")
|
l.Add("/g", "/g")
|
||||||
l.Add("/gg", "/gg")
|
l.Add("/gg", "/gg")
|
||||||
l.Add("/g/", "/g/")
|
l.Add("/g/", "/g/")
|
||||||
l.Add("hi", "hi")
|
l.Add("hi", "hi")
|
||||||
l.Add("hit", "hit")
|
l.Add("hit", "hit")
|
||||||
l.Add("hit:", "hit:")
|
l.Add("hit:", "hit:")
|
||||||
l.Add("hit:/", "<a rel='ugc'href='hit:///'>/</a>") // todo: fix this
|
l.Add("hit:/", "hit:/")
|
||||||
l.Add("hit://", "<a rel='ugc'href='hit://'></a>") // todo: fix this
|
l.Add("hit://", "hit://")
|
||||||
l.Add("hit://t", "<a rel='ugc'href='hit://t'>t</a>") // todo: fix this
|
l.Add("hit://t", "hit://t")
|
||||||
l.Add("h", "h")
|
l.Add("h", "h")
|
||||||
l.Add("ht", "ht")
|
l.Add("ht", "ht")
|
||||||
l.Add("htt", "htt")
|
l.Add("htt", "htt")
|
||||||
|
@ -216,6 +217,9 @@ func TestParser(t *testing.T) {
|
||||||
//t l.Add("http:/d", "http:/d")
|
//t l.Add("http:/d", "http:/d")
|
||||||
l.Add("http:d", "http:d")
|
l.Add("http:d", "http:d")
|
||||||
l.Add("https:", "https:")
|
l.Add("https:", "https:")
|
||||||
|
l.Add("gttps:", "gttps:")
|
||||||
|
l.Add("gttps:/", "gttps:/")
|
||||||
|
l.Add("gttps://", "gttps://")
|
||||||
l.Add("ftp:", "ftp:")
|
l.Add("ftp:", "ftp:")
|
||||||
l.Add("git:", "git:")
|
l.Add("git:", "git:")
|
||||||
l.Add("ssh:", "ssh:")
|
l.Add("ssh:", "ssh:")
|
||||||
|
@ -424,6 +428,25 @@ func TestParser(t *testing.T) {
|
||||||
c.Site.URL = pre
|
c.Site.URL = pre
|
||||||
c.Config.SslSchema = pre2
|
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) {
|
c.AddHashLinkType("nnid-", func(sb *strings.Builder, msg string, i *int) {
|
||||||
tid, intLen := c.CoerceIntString(msg[*i:])
|
tid, intLen := c.CoerceIntString(msg[*i:])
|
||||||
*i += intLen
|
*i += intLen
|
||||||
|
|
Loading…
Reference in New Issue