Skip to content

Commit 7568bdc

Browse files
authored
fixing account badge parsing (#178)
adding testdata as well
1 parent b821f5f commit 7568bdc

File tree

3 files changed

+849
-2
lines changed

3 files changed

+849
-2
lines changed

src/TibiaCharactersCharacterV3.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ type Characters struct {
104104
OtherCharacters []OtherCharacters `json:"other_characters,omitempty"`
105105
}
106106

107-
//
108107
// The base includes two levels, Characters and Information
109108
type CharacterResponse struct {
110109
Characters Characters `json:"characters"`
@@ -261,7 +260,7 @@ func TibiaCharactersCharacterV3Impl(BoxContentHTML string) CharacterResponse {
261260
})
262261
case "Account Badges":
263262
// Running query over each tr in list
264-
CharacterDivQuery.Find(".TableContentContainer tr td").Each(func(index int, s *goquery.Selection) {
263+
CharacterDivQuery.Find(".TableContentContainer tr td span[style]").Each(func(index int, s *goquery.Selection) {
265264
// Storing HTML into CharacterListHTML
266265
CharacterListHTML, err := s.Html()
267266
if err != nil {

src/TibiaCharactersCharacterV3_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,29 @@ func TestNumber4(t *testing.T) {
166166
assert.True(longDeath.Assists[4].Traded)
167167
}
168168

169+
func TestNumber6(t *testing.T) {
170+
data, err := os.ReadFile("../testdata/characters/Luminals.html")
171+
if err != nil {
172+
t.Errorf("File reading error: %s", err)
173+
return
174+
}
175+
176+
characterJson := TibiaCharactersCharacterV3Impl(string(data))
177+
assert := assert.New(t)
178+
179+
assert.Equal("Luminals", characterJson.Characters.Character.Name)
180+
181+
assert.Equal(8, len(characterJson.Characters.AccountBadges))
182+
globalPlayerBadge := characterJson.Characters.AccountBadges[4]
183+
assert.Equal("Global Player (Grade 3)", globalPlayerBadge.Name)
184+
assert.Equal("https://static.tibia.com/images//badges/badge_globalplayer3.png", globalPlayerBadge.IconURL)
185+
assert.Equal("Summing up the levels of all characters on the account amounts to at least 2000.", globalPlayerBadge.Description)
186+
masterClassBadge := characterJson.Characters.AccountBadges[7]
187+
assert.Equal("Master Class (Grade 1)", masterClassBadge.Name)
188+
assert.Equal("https://static.tibia.com/images//badges/badge_masterclass1.png", masterClassBadge.IconURL)
189+
assert.Equal("The account has reached at least level 100 with all four vocations.", masterClassBadge.Description)
190+
}
191+
169192
func TestNumber5(t *testing.T) {
170193
data, err := os.ReadFile("../testdata/characters/Torbjörn.html")
171194
if err != nil {

0 commit comments

Comments
 (0)