Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions src/TibiaNews.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,7 @@ type NewsResponse struct {
Information Information `json:"information"`
}

var (
martelRegex = regexp.MustCompile(`<img src=\"https:\/\/static\.tibia\.com\/images\/global\/letters\/letter_martel_(.)\.gif\" ([^\/>]+..)`)
)
var martelRegex = regexp.MustCompile(`<img src=\"https:\/\/static\.tibia\.com\/images\/global\/letters\/letter_martel_(.)\.gif\" ([^\/>]+..)`)

func TibiaNewsImpl(NewsID int, rawUrl string, BoxContentHTML string) (NewsResponse, error) {
// Declaring vars for later use..
Expand Down Expand Up @@ -89,11 +87,20 @@ func TibiaNewsImpl(NewsID int, rawUrl string, BoxContentHTML string) (NewsRespon
// checking if its a ticker..
if NewsData.Type == "ticker" {
tmp1 = s.Find("p")
NewsData.Content = tmp1.Text()
NewsData.ContentHTML, err = tmp1.Html()
if err != nil {
insideError = fmt.Errorf("[error] TibiaNewsImpl failed at NewsData.ContentHTML, err = tmp1.Html(), err: %s", err)
return false
if tmp1.Text() == "" {
NewsData.Content = s.Text()
NewsData.ContentHTML, err = s.Html()
if err != nil {
insideError = fmt.Errorf("[error] TibiaNewsImpl failed at NewsData.ContentHTML, err = s.Html(), err: %s", err)
return false
}
} else {
NewsData.Content = tmp1.Text()
NewsData.ContentHTML, err = tmp1.Html()
if err != nil {
insideError = fmt.Errorf("[error] TibiaNewsImpl failed at NewsData.ContentHTML, err = tmp1.Html(), err: %s", err)
return false
}
}
} else {
// getting html
Expand Down
29 changes: 29 additions & 0 deletions src/TibiaNews_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,35 @@ func TestNews6512(t *testing.T) {
assert.Equal("<a href=\"https://tibiadata.com\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"noopener\">TibiaData.com</a> has some news to share! First of all, they invite you to participate in their <a href=\"https://tibiadata.com/2021/07/join-tibiadata-on-discord/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"noopener\">Discord Server</a>. Further, they are now present on <a href=\"https://tibiadata.com/2021/12/tibiadata-has-gone-open-source/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"noopener\">GitHub</a>. They are working on their <a href=\"https://tibiadata.com/doc-api-v3/v3-beta/\" target=\"_blank\" rel=\"noopener noreferrer\" rel=\"noopener\">v3</a>, which is still in beta. If you are interested in such things, head on over there to see what is cooking.", newsArticleJson.News.ContentHTML)
}

func TestNews504(t *testing.T) {
file, err := static.TestFiles.Open("testdata/news/archive/504.html")
if err != nil {
t.Fatalf("file opening error: %s", err)
}
defer file.Close()

data, err := io.ReadAll(file)
if err != nil {
t.Fatalf("File reading error: %s", err)
}

newsArticleJson, err := TibiaNewsImpl(504, "https://www.tibia.com/news/?subtopic=newsarchive&id=504", string(data))
if err != nil {
t.Fatal(err)
}

assert := assert.New(t)

assert.Equal(504, newsArticleJson.News.ID)
assert.Equal("2007-04-27", newsArticleJson.News.Date)
assert.Empty(newsArticleJson.News.Title)
assert.Equal("community", newsArticleJson.News.Category)
assert.Equal("ticker", newsArticleJson.News.Type)
assert.Equal("https://www.tibia.com/news/?subtopic=newsarchive&id=504", newsArticleJson.News.TibiaURL)
assert.Equal("A new feedback form has been released today. Help us to find out which websites and magazines are popular in your country by filling out the new questionnaire. In our current poll we are curious about your occupation.", newsArticleJson.News.Content)
assert.Equal("<br/>A new feedback form has been released today. Help us to find out which websites and magazines are popular in your country by filling out the new questionnaire. In our current poll we are curious about your occupation.", newsArticleJson.News.ContentHTML)
}

func TestNews6481(t *testing.T) {
file, err := static.TestFiles.Open("testdata/news/archive/6481.html")
if err != nil {
Expand Down
Loading