Skip to content

Commit 7f2454d

Browse files
committed
add back missing commits from rebase
1 parent 69f7d0c commit 7f2454d

34 files changed

+1194
-304
lines changed

src/HighscoreCategory.go

Lines changed: 0 additions & 68 deletions
This file was deleted.

src/HighscoreCategory_test.go

Lines changed: 0 additions & 97 deletions
This file was deleted.

src/TibiaCharactersCharacterV3.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) (*CharacterResponse,
153153
// Loading HTML data into ReaderHTML for goquery with NewReader
154154
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
155155
if err != nil {
156-
return nil, err
156+
return nil, fmt.Errorf("TibiaCharactersCharacterV3Impl failed at goquery.NewDocumentFromReader, err: %s", err)
157157
}
158158

159159
// Running query on every .TableContainer
@@ -276,7 +276,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) (*CharacterResponse,
276276
// Storing HTML into CharacterListHTML
277277
CharacterListHTML, err := s.Html()
278278
if err != nil {
279-
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed on s.Html() inside Account Badges, err: %s", err)
279+
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed at s.Html() inside Account Badges, err: %s", err)
280280
return false
281281
}
282282

@@ -302,7 +302,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) (*CharacterResponse,
302302
// Storing HTML into CharacterListHTML
303303
CharacterListHTML, err := s.Html()
304304
if err != nil {
305-
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed on s.Html() inside Account Achievements, err: %s", err)
305+
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed at s.Html() inside Account Achievements, err: %s", err)
306306
return false
307307
}
308308

@@ -332,7 +332,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) (*CharacterResponse,
332332
// Storing HTML into CharacterListHTML
333333
CharacterListHTML, err := s.Html()
334334
if err != nil {
335-
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed on s.Html() inside Character Deaths, err: %s", err)
335+
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed at s.Html() inside Character Deaths, err: %s", err)
336336
return false
337337
}
338338

@@ -422,7 +422,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) (*CharacterResponse,
422422
// Storing HTML into CharacterListHTML
423423
CharacterListHTML, err := s.Html()
424424
if err != nil {
425-
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed on s.Html() inside Characters, err: %s", err)
425+
insideError = fmt.Errorf("[error] TibiaCharactersCharacterV3Impl failed at s.Html() inside Characters, err: %s", err)
426426
return false
427427
}
428428

src/TibiaCreaturesCreatureV3.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package main
22

33
import (
4+
"fmt"
5+
"log"
46
"net/http"
57
"regexp"
68
"strings"
@@ -55,13 +57,13 @@ func TibiaCreaturesCreatureV3Impl(race string, BoxContentHTML string) (*Creature
5557
// Loading HTML data into ReaderHTML for goquery with NewReader
5658
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
5759
if err != nil {
58-
return nil, err
60+
return nil, fmt.Errorf("[error] TibiaCreaturesCreatureV3Imp failed at goquery.NewDocumentFromReader, error: %s", err)
5961
}
6062

6163
// Getting data
6264
InnerTableContainerTMP1, err := ReaderHTML.Find(".BoxContent div").First().NextAll().Html()
6365
if err != nil {
64-
return nil, err
66+
return nil, fmt.Errorf("[error] TibiaCreaturesCreatureV3Imp failed at ReaderHTML.Find, error: %s", err)
6567
}
6668

6769
// Regex to get data
@@ -149,6 +151,7 @@ func TibiaCreaturesCreatureV3Impl(race string, BoxContentHTML string) (*Creature
149151
}
150152
}
151153
} else {
154+
log.Printf("[warning] TibiaCreaturesCreatureV3Impl called on invalid creature")
152155
return nil, validation.ErrorCreatureNotFound
153156
}
154157

src/TibiaCreaturesOverviewV3.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
"fmt"
45
"net/http"
56
"regexp"
67
"strings"
@@ -43,13 +44,13 @@ func TibiaCreaturesOverviewV3Impl(BoxContentHTML string) (*CreaturesOverviewResp
4344
// Loading HTML data into ReaderHTML for goquery with NewReader
4445
ReaderHTML, err := goquery.NewDocumentFromReader(strings.NewReader(BoxContentHTML))
4546
if err != nil {
46-
return nil, err
47+
return nil, fmt.Errorf("[error] TibiaCreaturesOverviewV3Impl failed at goquery.NewDocumentFromReader, err: %s", err)
4748
}
4849

4950
// Getting data from div.InnerTableContainer and then first p
5051
InnerTableContainerTMPB, err := ReaderHTML.Find(".InnerTableContainer p").First().Html()
5152
if err != nil {
52-
return nil, err
53+
return nil, fmt.Errorf("[error] TibiaCreaturesOverviewV3Impl failed at ReaderHTML.Find, err: %s", err)
5354
}
5455

5556
// Regex to get data for name and race param for boosted creature
@@ -78,12 +79,12 @@ func TibiaCreaturesOverviewV3Impl(BoxContentHTML string) (*CreaturesOverviewResp
7879
)
7980

8081
// Running query over each div
81-
ReaderHTML.Find(".BoxContent div div").Each(func(index int, s *goquery.Selection) {
82+
ReaderHTML.Find(".BoxContent div div").EachWithBreak(func(index int, s *goquery.Selection) bool {
8283
// Storing HTML into CreatureDivHTML
8384
CreatureDivHTML, err := s.Html()
8485
if err != nil {
85-
insideError = err
86-
return
86+
insideError = fmt.Errorf("[error] TibiaCreaturesOverviewV3Impl failed at CreatureDivHTML, err := s.Html(), err: %s", err)
87+
return false
8788
}
8889

8990
// Regex to get data for name, race and img src param for creature
@@ -105,6 +106,8 @@ func TibiaCreaturesOverviewV3Impl(BoxContentHTML string) (*CreaturesOverviewResp
105106
Featured: FeaturedRace,
106107
})
107108
}
109+
110+
return true
108111
})
109112

110113
if insideError != nil {

src/TibiaDataUtils.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,11 @@ func TibiaDataSanitizeNbspSpaceString(data string) string {
176176
return strings.ReplaceAll(data, "\u00A0", " ")
177177
}
178178

179+
// TibiaDataSanitize0026String replaces \u0026#39; with '
180+
func TibiaDataSanitize0026String(data string) string {
181+
return strings.ReplaceAll(data, "\u0026#39;", "'")
182+
}
183+
179184
// isEnvExist func - check if environment var is set
180185
func isEnvExist(key string) (ok bool) {
181186
_, ok = os.LookupEnv(key)

src/TibiaDataUtils_test.go

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,90 @@ func TestTibiaDataGetNewsType(t *testing.T) {
7171
assert.Equal("news", TibiaDataGetNewsType("News"))
7272
assert.Equal("unknown", TibiaDataGetNewsType("TibiaData"))
7373
}
74+
75+
func TestHTMLLineBreakRemover(t *testing.T) {
76+
const str = "a\nb\nc\nd\ne\nf\ng\nh\n"
77+
78+
sanitizedStr := TibiaDataHTMLRemoveLinebreaksV3(str)
79+
assert.Equal(t, sanitizedStr, "abcdefgh")
80+
}
81+
82+
func TestURLsRemover(t *testing.T) {
83+
const str = `<a href="https://www.tibia.com/community/?subtopic=characters&amp;name=Bobeek">Bobeek</a>`
84+
85+
sanitizedStr := TibiaDataRemoveURLsV3(str)
86+
assert.Equal(t, sanitizedStr, "Bobeek")
87+
}
88+
89+
func TestWorldFormater(t *testing.T) {
90+
const str = "hEsThDIáÛõ"
91+
92+
sanitizedStr := TibiaDataStringWorldFormatToTitleV3(str)
93+
assert.Equal(t, sanitizedStr, "Hesthdiáûõ")
94+
}
95+
96+
func TestEscaper(t *testing.T) {
97+
const (
98+
strOne = "god durin"
99+
strTwo = "god+durin"
100+
strThree = "gód"
101+
)
102+
103+
sanitizedStrOne := TibiaDataQueryEscapeStringV3(strOne)
104+
sanitizedStrTwo := TibiaDataQueryEscapeStringV3(strTwo)
105+
sanitizedStrThree := TibiaDataQueryEscapeStringV3(strThree)
106+
107+
assert := assert.New(t)
108+
assert.Equal(sanitizedStrOne, "god+durin")
109+
assert.Equal(sanitizedStrTwo, "god+durin")
110+
assert.Equal(sanitizedStrThree, "g%F3d")
111+
}
112+
113+
func TestDateParser(t *testing.T) {
114+
const str = "Mar 09 2022"
115+
116+
sanitizedString := TibiaDataDateV3(str)
117+
assert.Equal(t, sanitizedString, "2022-03-09")
118+
}
119+
120+
func TestStringToInt(t *testing.T) {
121+
const str = "1"
122+
123+
convertedStr := TibiaDataStringToIntegerV3(str)
124+
assert.Equal(t, 1, convertedStr)
125+
}
126+
127+
func TestHTMLRemover(t *testing.T) {
128+
const str = `<div id="DeactivationContainer" onclick="ActivateWebsiteFrame();$('.LightBoxContentToHide').css('display', 'none');">abc</div>`
129+
130+
sanitizedString := RemoveHtmlTag(str)
131+
assert.Equal(t, sanitizedString, "abc")
132+
}
133+
134+
func TestFake(t *testing.T) {
135+
assert := assert.New(t)
136+
const str = "&lt;"
137+
138+
htmlString := TibiaDataSanitizeEscapedString(str)
139+
assert.Equal(htmlString, "<")
140+
141+
const strTwo = `"`
142+
143+
doubleString := TibiaDataSanitizeDoubleQuoteString(strTwo)
144+
assert.Equal(doubleString, "'")
145+
146+
const strThree = "\u00A0"
147+
148+
nbspString := TibiaDataSanitizeNbspSpaceString(strThree)
149+
assert.Equal(nbspString, " ")
150+
151+
const strFour = "\u0026#39;"
152+
153+
string0026 := TibiaDataSanitize0026String(strFour)
154+
assert.Equal(string0026, "'")
155+
156+
const strFive = "1kk"
157+
158+
kkInt := TibiaDataConvertValuesWithK(strFive)
159+
assert.Equal(kkInt, 1000000)
160+
}

0 commit comments

Comments
 (0)