Skip to content

Commit 5457098

Browse files
authored
fix guild date format (#180)
* fix guild date format * adding testdata for guild * adding guild without description * using assert.Empty instead of assert.Equal empty
1 parent 3f2fb81 commit 5457098

File tree

6 files changed

+4138
-8
lines changed

6 files changed

+4138
-8
lines changed

src/TibiaGuildsGuildV3.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ type Guilds struct {
6565
Guild Guild `json:"guild"`
6666
}
6767

68-
//
6968
// The base includes two levels: Guild and Information
7069
type GuildResponse struct {
7170
Guilds Guilds `json:"guilds"`
@@ -182,7 +181,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
182181
if strings.HasPrefix(line, "<b>It will be disbanded on ") {
183182
subma1c := GuildDisbaneRegex.FindAllStringSubmatch(line, -1)
184183
if len(subma1c) > 0 {
185-
GuildDisbandedDate = subma1c[0][1]
184+
GuildDisbandedDate = TibiaDataDateV3(subma1c[0][1])
186185
GuildDisbandedCondition = subma1c[0][2]
187186
}
188187
}
@@ -238,7 +237,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
238237
MembersCountInvited++
239238
InvitedData = append(InvitedData, InvitedGuildMember{
240239
Name: TibiaDataSanitizeStrings(subma2[0][1]),
241-
Date: subma2[0][2],
240+
Date: TibiaDataDateV3(subma2[0][2]),
242241
})
243242
}
244243
}

src/TibiaGuildsGuildV3_test.go

Lines changed: 94 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ func TestOrderofGlory(t *testing.T) {
2525
assert.True(orderOfGloryJson.Guilds.Guild.Active)
2626
assert.Equal("2020-06-27", orderOfGloryJson.Guilds.Guild.Founded)
2727
assert.True(orderOfGloryJson.Guilds.Guild.Applications)
28-
assert.Equal("", orderOfGloryJson.Guilds.Guild.Homepage)
28+
assert.Empty(orderOfGloryJson.Guilds.Guild.Homepage)
2929
assert.False(orderOfGloryJson.Guilds.Guild.InWar)
30-
assert.Equal("", orderOfGloryJson.Guilds.Guild.DisbandedDate)
31-
assert.Equal("", orderOfGloryJson.Guilds.Guild.DisbandedCondition)
30+
assert.Empty(orderOfGloryJson.Guilds.Guild.DisbandedDate)
31+
assert.Empty(orderOfGloryJson.Guilds.Guild.DisbandedCondition)
3232
assert.Equal(1, orderOfGloryJson.Guilds.Guild.PlayersOnline)
3333
assert.Equal(32, orderOfGloryJson.Guilds.Guild.PlayersOffline)
3434
assert.Equal(33, orderOfGloryJson.Guilds.Guild.MembersTotal)
@@ -37,7 +37,7 @@ func TestOrderofGlory(t *testing.T) {
3737

3838
guildLeader := orderOfGloryJson.Guilds.Guild.Members[0]
3939
assert.Equal("Zyb the Warrior", guildLeader.Name)
40-
assert.Equal("", guildLeader.Title)
40+
assert.Empty(guildLeader.Title)
4141
assert.Equal("Leader", guildLeader.Rank)
4242
assert.Equal("Elite Knight", guildLeader.Vocation)
4343
assert.Equal(385, guildLeader.Level)
@@ -46,3 +46,93 @@ func TestOrderofGlory(t *testing.T) {
4646

4747
assert.Nil(orderOfGloryJson.Guilds.Guild.Invited)
4848
}
49+
50+
func TestElysium(t *testing.T) {
51+
data, err := os.ReadFile("../testdata/guilds/guild/Elysium.html")
52+
if err != nil {
53+
t.Errorf("File reading error: %s", err)
54+
return
55+
}
56+
57+
elysiumJson := TibiaGuildsGuildV3Impl("Elysium", string(data))
58+
assert := assert.New(t)
59+
60+
assert.Equal("Elysium", elysiumJson.Guilds.Guild.Name)
61+
assert.Equal("Vunira", elysiumJson.Guilds.Guild.World)
62+
assert.Equal("https://static.tibia.com/images/guildlogos/Elysium.gif", elysiumJson.Guilds.Guild.LogoURL)
63+
assert.Equal("The place you want to be...\nIt is the land of peace and harmony, the home of the immortal, the blessed, home of the passed away legends... Hail all defenders of righteousness and the old virtues which shall never be forgotten!\nIf you would like to join us, feel free to contact one of our leaders.", elysiumJson.Guilds.Guild.Description)
64+
assert.NotNil(elysiumJson.Guilds.Guild.Guildhalls)
65+
assert.Equal("Ab'Dendriel Clanhall", elysiumJson.Guilds.Guild.Guildhalls[0].Name)
66+
assert.Equal("2023-02-18", elysiumJson.Guilds.Guild.Guildhalls[0].PaidUntil)
67+
assert.Equal("Vunira", elysiumJson.Guilds.Guild.Guildhalls[0].World)
68+
assert.True(elysiumJson.Guilds.Guild.Active)
69+
assert.Equal("2004-05-26", elysiumJson.Guilds.Guild.Founded)
70+
assert.True(elysiumJson.Guilds.Guild.Applications)
71+
assert.Empty(elysiumJson.Guilds.Guild.Homepage)
72+
assert.False(elysiumJson.Guilds.Guild.InWar)
73+
assert.Empty(elysiumJson.Guilds.Guild.DisbandedDate)
74+
assert.Empty(elysiumJson.Guilds.Guild.DisbandedCondition)
75+
assert.Equal(4, elysiumJson.Guilds.Guild.PlayersOnline)
76+
assert.Equal(154, elysiumJson.Guilds.Guild.PlayersOffline)
77+
assert.Equal(158, elysiumJson.Guilds.Guild.MembersTotal)
78+
assert.Equal(1, elysiumJson.Guilds.Guild.MembersInvited)
79+
assert.Equal(158, len(elysiumJson.Guilds.Guild.Members))
80+
81+
guildFollower := elysiumJson.Guilds.Guild.Members[101]
82+
assert.Equal("Trollefar", guildFollower.Name)
83+
assert.Equal("Troll Giant", guildFollower.Title)
84+
assert.Equal("Follower", guildFollower.Rank)
85+
assert.Equal("Elite Knight", guildFollower.Vocation)
86+
assert.Equal(202, guildFollower.Level)
87+
assert.Equal("2013-10-20", guildFollower.Joined)
88+
assert.Equal("offline", guildFollower.Status)
89+
90+
assert.NotNil(elysiumJson.Guilds.Guild.Invited)
91+
evelynInvite := elysiumJson.Guilds.Guild.Invited[0]
92+
assert.Equal("Evelyn Earlong", evelynInvite.Name)
93+
assert.Equal("2023-01-20", evelynInvite.Date)
94+
}
95+
96+
func TestMercenarys(t *testing.T) {
97+
data, err := os.ReadFile("../testdata/guilds/guild/Mercenarys.html")
98+
if err != nil {
99+
t.Errorf("File reading error: %s", err)
100+
return
101+
}
102+
103+
mercenarysJson := TibiaGuildsGuildV3Impl("Mercenarys", string(data))
104+
assert := assert.New(t)
105+
106+
assert.Equal("Mercenarys", mercenarysJson.Guilds.Guild.Name)
107+
assert.Equal("Antica", mercenarysJson.Guilds.Guild.World)
108+
assert.Equal("https://static.tibia.com/images/guildlogos/Mercenarys.gif", mercenarysJson.Guilds.Guild.LogoURL)
109+
assert.NotNil(mercenarysJson.Guilds.Guild.Guildhalls)
110+
assert.Equal("Mercenary Tower", mercenarysJson.Guilds.Guild.Guildhalls[0].Name)
111+
assert.Equal("2023-01-28", mercenarysJson.Guilds.Guild.Guildhalls[0].PaidUntil)
112+
assert.Equal("Antica", mercenarysJson.Guilds.Guild.Guildhalls[0].World)
113+
assert.True(mercenarysJson.Guilds.Guild.Active)
114+
assert.Equal("2002-02-18", mercenarysJson.Guilds.Guild.Founded)
115+
assert.True(mercenarysJson.Guilds.Guild.Applications)
116+
assert.Equal("http://www.mercenarys.net", mercenarysJson.Guilds.Guild.Homepage)
117+
assert.False(mercenarysJson.Guilds.Guild.InWar)
118+
assert.Equal("2023-02-07", mercenarysJson.Guilds.Guild.DisbandedDate)
119+
assert.Equal("if there are still less than four vice leaders or an insufficient amount of premium accounts in the leading ranks by then", mercenarysJson.Guilds.Guild.DisbandedCondition)
120+
}
121+
122+
func TestKotkiAntica(t *testing.T) {
123+
data, err := os.ReadFile("../testdata/guilds/guild/Kotki Antica.html")
124+
if err != nil {
125+
t.Errorf("File reading error: %s", err)
126+
return
127+
}
128+
129+
kotkianticaJson := TibiaGuildsGuildV3Impl("Kotki Antica", string(data))
130+
assert := assert.New(t)
131+
132+
assert.Equal("Kotki Antica", kotkianticaJson.Guilds.Guild.Name)
133+
assert.Equal("Antica", kotkianticaJson.Guilds.Guild.World)
134+
assert.Empty(kotkianticaJson.Guilds.Guild.Description)
135+
assert.True(kotkianticaJson.Guilds.Guild.Active)
136+
assert.Equal("2021-09-22", kotkianticaJson.Guilds.Guild.Founded)
137+
assert.False(kotkianticaJson.Guilds.Guild.Applications)
138+
}

src/TibiaGuildsOverviewV3_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@ func TestPremia(t *testing.T) {
2929
secondGuildInFormation := premiaGuildsJson.Guilds.Formation[1]
3030
assert.Equal("Konungen", secondGuildInFormation.Name)
3131
assert.Equal("https://static.tibia.com/images/community/default_logo.gif", secondGuildInFormation.LogoURL)
32-
assert.Equal("", secondGuildInFormation.Description)
32+
assert.Empty(secondGuildInFormation.Description)
3333
}

testdata/guilds/guild/Elysium.html

Lines changed: 1653 additions & 0 deletions
Large diffs are not rendered by default.

testdata/guilds/guild/Kotki Antica.html

Lines changed: 949 additions & 0 deletions
Large diffs are not rendered by default.

testdata/guilds/guild/Mercenarys.html

Lines changed: 1439 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)