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
5 changes: 2 additions & 3 deletions src/TibiaGuildsGuildV3.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ type Guilds struct {
Guild Guild `json:"guild"`
}

//
// The base includes two levels: Guild and Information
type GuildResponse struct {
Guilds Guilds `json:"guilds"`
Expand Down Expand Up @@ -182,7 +181,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
if strings.HasPrefix(line, "<b>It will be disbanded on ") {
subma1c := GuildDisbaneRegex.FindAllStringSubmatch(line, -1)
if len(subma1c) > 0 {
GuildDisbandedDate = subma1c[0][1]
GuildDisbandedDate = TibiaDataDateV3(subma1c[0][1])
GuildDisbandedCondition = subma1c[0][2]
}
}
Expand Down Expand Up @@ -238,7 +237,7 @@ func TibiaGuildsGuildV3Impl(guild string, BoxContentHTML string) GuildResponse {
MembersCountInvited++
InvitedData = append(InvitedData, InvitedGuildMember{
Name: TibiaDataSanitizeStrings(subma2[0][1]),
Date: subma2[0][2],
Date: TibiaDataDateV3(subma2[0][2]),
})
}
}
Expand Down
98 changes: 94 additions & 4 deletions src/TibiaGuildsGuildV3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ func TestOrderofGlory(t *testing.T) {
assert.True(orderOfGloryJson.Guilds.Guild.Active)
assert.Equal("2020-06-27", orderOfGloryJson.Guilds.Guild.Founded)
assert.True(orderOfGloryJson.Guilds.Guild.Applications)
assert.Equal("", orderOfGloryJson.Guilds.Guild.Homepage)
assert.Empty(orderOfGloryJson.Guilds.Guild.Homepage)
assert.False(orderOfGloryJson.Guilds.Guild.InWar)
assert.Equal("", orderOfGloryJson.Guilds.Guild.DisbandedDate)
assert.Equal("", orderOfGloryJson.Guilds.Guild.DisbandedCondition)
assert.Empty(orderOfGloryJson.Guilds.Guild.DisbandedDate)
assert.Empty(orderOfGloryJson.Guilds.Guild.DisbandedCondition)
assert.Equal(1, orderOfGloryJson.Guilds.Guild.PlayersOnline)
assert.Equal(32, orderOfGloryJson.Guilds.Guild.PlayersOffline)
assert.Equal(33, orderOfGloryJson.Guilds.Guild.MembersTotal)
Expand All @@ -37,7 +37,7 @@ func TestOrderofGlory(t *testing.T) {

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

assert.Nil(orderOfGloryJson.Guilds.Guild.Invited)
}

func TestElysium(t *testing.T) {
data, err := os.ReadFile("../testdata/guilds/guild/Elysium.html")
if err != nil {
t.Errorf("File reading error: %s", err)
return
}

elysiumJson := TibiaGuildsGuildV3Impl("Elysium", string(data))
assert := assert.New(t)

assert.Equal("Elysium", elysiumJson.Guilds.Guild.Name)
assert.Equal("Vunira", elysiumJson.Guilds.Guild.World)
assert.Equal("https://static.tibia.com/images/guildlogos/Elysium.gif", elysiumJson.Guilds.Guild.LogoURL)
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)
assert.NotNil(elysiumJson.Guilds.Guild.Guildhalls)
assert.Equal("Ab'Dendriel Clanhall", elysiumJson.Guilds.Guild.Guildhalls[0].Name)
assert.Equal("2023-02-18", elysiumJson.Guilds.Guild.Guildhalls[0].PaidUntil)
assert.Equal("Vunira", elysiumJson.Guilds.Guild.Guildhalls[0].World)
assert.True(elysiumJson.Guilds.Guild.Active)
assert.Equal("2004-05-26", elysiumJson.Guilds.Guild.Founded)
assert.True(elysiumJson.Guilds.Guild.Applications)
assert.Empty(elysiumJson.Guilds.Guild.Homepage)
assert.False(elysiumJson.Guilds.Guild.InWar)
assert.Empty(elysiumJson.Guilds.Guild.DisbandedDate)
assert.Empty(elysiumJson.Guilds.Guild.DisbandedCondition)
assert.Equal(4, elysiumJson.Guilds.Guild.PlayersOnline)
assert.Equal(154, elysiumJson.Guilds.Guild.PlayersOffline)
assert.Equal(158, elysiumJson.Guilds.Guild.MembersTotal)
assert.Equal(1, elysiumJson.Guilds.Guild.MembersInvited)
assert.Equal(158, len(elysiumJson.Guilds.Guild.Members))

guildFollower := elysiumJson.Guilds.Guild.Members[101]
assert.Equal("Trollefar", guildFollower.Name)
assert.Equal("Troll Giant", guildFollower.Title)
assert.Equal("Follower", guildFollower.Rank)
assert.Equal("Elite Knight", guildFollower.Vocation)
assert.Equal(202, guildFollower.Level)
assert.Equal("2013-10-20", guildFollower.Joined)
assert.Equal("offline", guildFollower.Status)

assert.NotNil(elysiumJson.Guilds.Guild.Invited)
evelynInvite := elysiumJson.Guilds.Guild.Invited[0]
assert.Equal("Evelyn Earlong", evelynInvite.Name)
assert.Equal("2023-01-20", evelynInvite.Date)
}

func TestMercenarys(t *testing.T) {
data, err := os.ReadFile("../testdata/guilds/guild/Mercenarys.html")
if err != nil {
t.Errorf("File reading error: %s", err)
return
}

mercenarysJson := TibiaGuildsGuildV3Impl("Mercenarys", string(data))
assert := assert.New(t)

assert.Equal("Mercenarys", mercenarysJson.Guilds.Guild.Name)
assert.Equal("Antica", mercenarysJson.Guilds.Guild.World)
assert.Equal("https://static.tibia.com/images/guildlogos/Mercenarys.gif", mercenarysJson.Guilds.Guild.LogoURL)
assert.NotNil(mercenarysJson.Guilds.Guild.Guildhalls)
assert.Equal("Mercenary Tower", mercenarysJson.Guilds.Guild.Guildhalls[0].Name)
assert.Equal("2023-01-28", mercenarysJson.Guilds.Guild.Guildhalls[0].PaidUntil)
assert.Equal("Antica", mercenarysJson.Guilds.Guild.Guildhalls[0].World)
assert.True(mercenarysJson.Guilds.Guild.Active)
assert.Equal("2002-02-18", mercenarysJson.Guilds.Guild.Founded)
assert.True(mercenarysJson.Guilds.Guild.Applications)
assert.Equal("http://www.mercenarys.net", mercenarysJson.Guilds.Guild.Homepage)
assert.False(mercenarysJson.Guilds.Guild.InWar)
assert.Equal("2023-02-07", mercenarysJson.Guilds.Guild.DisbandedDate)
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)
}

func TestKotkiAntica(t *testing.T) {
data, err := os.ReadFile("../testdata/guilds/guild/Kotki Antica.html")
if err != nil {
t.Errorf("File reading error: %s", err)
return
}

kotkianticaJson := TibiaGuildsGuildV3Impl("Kotki Antica", string(data))
assert := assert.New(t)

assert.Equal("Kotki Antica", kotkianticaJson.Guilds.Guild.Name)
assert.Equal("Antica", kotkianticaJson.Guilds.Guild.World)
assert.Empty(kotkianticaJson.Guilds.Guild.Description)
assert.True(kotkianticaJson.Guilds.Guild.Active)
assert.Equal("2021-09-22", kotkianticaJson.Guilds.Guild.Founded)
assert.False(kotkianticaJson.Guilds.Guild.Applications)
}
2 changes: 1 addition & 1 deletion src/TibiaGuildsOverviewV3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ func TestPremia(t *testing.T) {
secondGuildInFormation := premiaGuildsJson.Guilds.Formation[1]
assert.Equal("Konungen", secondGuildInFormation.Name)
assert.Equal("https://static.tibia.com/images/community/default_logo.gif", secondGuildInFormation.LogoURL)
assert.Equal("", secondGuildInFormation.Description)
assert.Empty(secondGuildInFormation.Description)
}
1,653 changes: 1,653 additions & 0 deletions testdata/guilds/guild/Elysium.html

Large diffs are not rendered by default.

949 changes: 949 additions & 0 deletions testdata/guilds/guild/Kotki Antica.html

Large diffs are not rendered by default.

1,439 changes: 1,439 additions & 0 deletions testdata/guilds/guild/Mercenarys.html

Large diffs are not rendered by default.