Fix janky hashtag detection. Closes #1686
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"os/exec"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/mssola/user_agent"
|
||||
@@ -321,10 +322,15 @@ func GetHostnameFromURL(u url.URL) string {
|
||||
// GetHostnameFromURLString will return the hostname component from a URL object.
|
||||
func GetHostnameFromURLString(s string) string {
|
||||
u, err := url.Parse(s)
|
||||
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
|
||||
return u.Host
|
||||
}
|
||||
|
||||
// GetHashtagsFromText returns all the #Hashtags from a string.
|
||||
func GetHashtagsFromText(text string) []string {
|
||||
re := regexp.MustCompile(`#[a-zA-Z0-9_]+`)
|
||||
return re.FindAllString(text, -1)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package utils
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestUserAgent(t *testing.T) {
|
||||
testAgents := []string{
|
||||
@@ -16,3 +18,15 @@ func TestUserAgent(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGetHashtagsFromText(t *testing.T) {
|
||||
text := `Some text with a #hashtag goes here.\n\n
|
||||
Another #secondhashtag, goes here.\n\n
|
||||
#thirdhashtag`
|
||||
|
||||
hashtags := GetHashtagsFromText(text)
|
||||
|
||||
if hashtags[0] != "#hashtag" || hashtags[1] != "#secondhashtag" || hashtags[2] != "#thirdhashtag" {
|
||||
t.Error("Incorrect hashtags fetched from text.")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user