chat commands: Add PB reading from POH adventurer's log
This commit is contained in:
@@ -151,6 +151,7 @@ public class WidgetID
|
|||||||
public static final int LMS_GROUP_ID = 333;
|
public static final int LMS_GROUP_ID = 333;
|
||||||
public static final int LMS_INGAME_GROUP_ID = 328;
|
public static final int LMS_INGAME_GROUP_ID = 328;
|
||||||
public static final int ADVENTURE_LOG_ID = 187;
|
public static final int ADVENTURE_LOG_ID = 187;
|
||||||
|
public static final int COUNTERS_LOG_GROUP_ID = 625;
|
||||||
|
|
||||||
static class WorldMap
|
static class WorldMap
|
||||||
{
|
{
|
||||||
@@ -878,4 +879,10 @@ public class WidgetID
|
|||||||
{
|
{
|
||||||
static final int CONTAINER = 0;
|
static final int CONTAINER = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class CountersLog
|
||||||
|
{
|
||||||
|
static final int OWNER = 4;
|
||||||
|
static final int TEXT = 6;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -456,6 +456,8 @@ public enum WidgetInfo
|
|||||||
|
|
||||||
ADVENTURE_LOG(WidgetID.ADVENTURE_LOG_ID, WidgetID.AdventureLog.CONTAINER),
|
ADVENTURE_LOG(WidgetID.ADVENTURE_LOG_ID, WidgetID.AdventureLog.CONTAINER),
|
||||||
|
|
||||||
|
COUNTERS_LOG_TEXT(WidgetID.COUNTERS_LOG_GROUP_ID, WidgetID.CountersLog.TEXT),
|
||||||
|
|
||||||
WORLD_SWITCHER_LIST(WidgetID.WORLD_SWITCHER_GROUP_ID, WidgetID.WorldSwitcher.WORLD_LIST),
|
WORLD_SWITCHER_LIST(WidgetID.WORLD_SWITCHER_GROUP_ID, WidgetID.WorldSwitcher.WORLD_LIST),
|
||||||
|
|
||||||
FOSSIL_ISLAND_OXYGENBAR(WidgetID.FOSSIL_ISLAND_OXYGENBAR_ID, WidgetID.FossilOxygen.FOSSIL_ISLAND_OXYGEN_BAR),
|
FOSSIL_ISLAND_OXYGENBAR(WidgetID.FOSSIL_ISLAND_OXYGENBAR_ID, WidgetID.FossilOxygen.FOSSIL_ISLAND_OXYGEN_BAR),
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ import net.runelite.api.vars.AccountType;
|
|||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.widgets.Widget;
|
||||||
import static net.runelite.api.widgets.WidgetID.ADVENTURE_LOG_ID;
|
import static net.runelite.api.widgets.WidgetID.ADVENTURE_LOG_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.COUNTERS_LOG_GROUP_ID;
|
||||||
import net.runelite.api.widgets.WidgetInfo;
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.chat.ChatColorType;
|
import net.runelite.client.chat.ChatColorType;
|
||||||
import net.runelite.client.chat.ChatCommandManager;
|
import net.runelite.client.chat.ChatCommandManager;
|
||||||
@@ -69,7 +70,7 @@ import net.runelite.client.input.KeyManager;
|
|||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.util.QuantityFormatter;
|
import net.runelite.client.util.QuantityFormatter;
|
||||||
import static net.runelite.client.util.Text.sanitize;
|
import net.runelite.client.util.Text;
|
||||||
import net.runelite.http.api.chat.ChatClient;
|
import net.runelite.http.api.chat.ChatClient;
|
||||||
import net.runelite.http.api.chat.Duels;
|
import net.runelite.http.api.chat.Duels;
|
||||||
import net.runelite.http.api.hiscore.HiscoreClient;
|
import net.runelite.http.api.hiscore.HiscoreClient;
|
||||||
@@ -99,6 +100,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won (\\d+) duels?");
|
private static final Pattern DUEL_ARENA_WINS_PATTERN = Pattern.compile("You (were defeated|won)! You have(?: now)? won (\\d+) duels?");
|
||||||
private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost (\\d+) duels?");
|
private static final Pattern DUEL_ARENA_LOSSES_PATTERN = Pattern.compile("You have(?: now)? lost (\\d+) duels?");
|
||||||
private static final Pattern ADVENTURE_LOG_TITLE_PATTERN = Pattern.compile("The Exploits of (.+)");
|
private static final Pattern ADVENTURE_LOG_TITLE_PATTERN = Pattern.compile("The Exploits of (.+)");
|
||||||
|
private static final Pattern ADVENTURE_LOG_PB_PATTERN = Pattern.compile("([a-zA-Z]+(?: [a-zA-Z]+)*) Fastest (?:kill|run): ([0-9:]+)");
|
||||||
|
|
||||||
private static final String TOTAL_LEVEL_COMMAND_STRING = "!total";
|
private static final String TOTAL_LEVEL_COMMAND_STRING = "!total";
|
||||||
private static final String PRICE_COMMAND_STRING = "!price";
|
private static final String PRICE_COMMAND_STRING = "!price";
|
||||||
@@ -122,6 +124,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
|
|
||||||
private boolean bossLogLoaded;
|
private boolean bossLogLoaded;
|
||||||
private boolean advLogLoaded;
|
private boolean advLogLoaded;
|
||||||
|
private boolean countersLogLoaded;
|
||||||
private String pohOwner;
|
private String pohOwner;
|
||||||
private HiscoreEndpoint hiscoreEndpoint; // hiscore endpoint for current player
|
private HiscoreEndpoint hiscoreEndpoint; // hiscore endpoint for current player
|
||||||
private String lastBossKill;
|
private String lastBossKill;
|
||||||
@@ -436,6 +439,20 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (countersLogLoaded && pohOwner.equals(client.getLocalPlayer().getName()))
|
||||||
|
{
|
||||||
|
countersLogLoaded = false;
|
||||||
|
|
||||||
|
String counterText = Text.sanitizeMultilineText(client.getWidget(WidgetInfo.COUNTERS_LOG_TEXT).getText());
|
||||||
|
Matcher mCounterText = ADVENTURE_LOG_PB_PATTERN.matcher(counterText);
|
||||||
|
while (mCounterText.find())
|
||||||
|
{
|
||||||
|
String bossName = mCounterText.group(1);
|
||||||
|
String pbTime = mCounterText.group(2);
|
||||||
|
setPb(longBossName(bossName), timeStringToSeconds(pbTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
@@ -449,6 +466,9 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
case KILL_LOGS_GROUP_ID:
|
case KILL_LOGS_GROUP_ID:
|
||||||
bossLogLoaded = true;
|
bossLogLoaded = true;
|
||||||
break;
|
break;
|
||||||
|
case COUNTERS_LOG_GROUP_ID:
|
||||||
|
countersLogLoaded = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -523,7 +543,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
search = longBossName(search);
|
search = longBossName(search);
|
||||||
@@ -604,7 +624,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
Duels duels;
|
Duels duels;
|
||||||
@@ -661,7 +681,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
int qp;
|
int qp;
|
||||||
@@ -735,7 +755,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
search = longBossName(search);
|
search = longBossName(search);
|
||||||
@@ -818,7 +838,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
int gc;
|
int gc;
|
||||||
@@ -1028,7 +1048,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player = sanitize(chatMessage.getName());
|
player = Text.sanitize(chatMessage.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -1296,7 +1316,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
private HiscoreLookup getCorrectLookupFor(final ChatMessage chatMessage)
|
private HiscoreLookup getCorrectLookupFor(final ChatMessage chatMessage)
|
||||||
{
|
{
|
||||||
Player localPlayer = client.getLocalPlayer();
|
Player localPlayer = client.getLocalPlayer();
|
||||||
final String player = sanitize(chatMessage.getName());
|
final String player = Text.sanitize(chatMessage.getName());
|
||||||
|
|
||||||
// If we are sending the message then just use the local hiscore endpoint for the world
|
// If we are sending the message then just use the local hiscore endpoint for the world
|
||||||
if (chatMessage.getType().equals(ChatMessageType.PRIVATECHATOUT)
|
if (chatMessage.getType().equals(ChatMessageType.PRIVATECHATOUT)
|
||||||
@@ -1426,6 +1446,7 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
return "Corporeal Beast";
|
return "Corporeal Beast";
|
||||||
|
|
||||||
case "jad":
|
case "jad":
|
||||||
|
case "tzhaar fight cave":
|
||||||
return "TzTok-Jad";
|
return "TzTok-Jad";
|
||||||
|
|
||||||
case "kq":
|
case "kq":
|
||||||
@@ -1545,11 +1566,13 @@ public class ChatCommandsPlugin extends Plugin
|
|||||||
// The Gauntlet
|
// The Gauntlet
|
||||||
case "gaunt":
|
case "gaunt":
|
||||||
case "gauntlet":
|
case "gauntlet":
|
||||||
|
case "the gauntlet":
|
||||||
return "Gauntlet";
|
return "Gauntlet";
|
||||||
|
|
||||||
// Corrupted Gauntlet
|
// Corrupted Gauntlet
|
||||||
case "cgaunt":
|
case "cgaunt":
|
||||||
case "cgauntlet":
|
case "cgauntlet":
|
||||||
|
case "the corrupted gauntlet":
|
||||||
return "Corrupted Gauntlet";
|
return "Corrupted Gauntlet";
|
||||||
|
|
||||||
case "the nightmare":
|
case "the nightmare":
|
||||||
|
|||||||
@@ -33,9 +33,16 @@ import static net.runelite.api.ChatMessageType.FRIENDSCHATNOTIFICATION;
|
|||||||
import static net.runelite.api.ChatMessageType.GAMEMESSAGE;
|
import static net.runelite.api.ChatMessageType.GAMEMESSAGE;
|
||||||
import static net.runelite.api.ChatMessageType.TRADE;
|
import static net.runelite.api.ChatMessageType.TRADE;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.Player;
|
||||||
import net.runelite.api.events.ChatMessage;
|
import net.runelite.api.events.ChatMessage;
|
||||||
|
import net.runelite.api.events.GameTick;
|
||||||
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
|
import net.runelite.api.widgets.Widget;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
import net.runelite.client.config.ChatColorConfig;
|
import net.runelite.client.config.ChatColorConfig;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.ADVENTURE_LOG_ID;
|
||||||
|
import static net.runelite.api.widgets.WidgetID.COUNTERS_LOG_GROUP_ID;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -45,7 +52,9 @@ import static org.mockito.Mockito.any;
|
|||||||
import static org.mockito.Mockito.anyInt;
|
import static org.mockito.Mockito.anyInt;
|
||||||
import static org.mockito.Mockito.anyString;
|
import static org.mockito.Mockito.anyString;
|
||||||
import static org.mockito.Mockito.never;
|
import static org.mockito.Mockito.never;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import org.mockito.junit.MockitoJUnitRunner;
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
|
|
||||||
@@ -351,4 +360,134 @@ public class ChatCommandsPluginTest
|
|||||||
verify(configManager).setConfiguration(eq("killcount.adam"), eq("chambers of xeric"), eq(52));
|
verify(configManager).setConfiguration(eq("killcount.adam"), eq("chambers of xeric"), eq(52));
|
||||||
verify(configManager, never()).setConfiguration(eq("personalbest.adam"), eq("chambers of xeric"), anyInt());
|
verify(configManager, never()).setConfiguration(eq("personalbest.adam"), eq("chambers of xeric"), anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAdventureLogCountersPage()
|
||||||
|
{
|
||||||
|
Player player = mock(Player.class);
|
||||||
|
when(player.getName()).thenReturn(PLAYER_NAME);
|
||||||
|
when(client.getLocalPlayer()).thenReturn(player);
|
||||||
|
|
||||||
|
Widget advLogWidget = mock(Widget.class);
|
||||||
|
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||||
|
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||||
|
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||||
|
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||||
|
|
||||||
|
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||||
|
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
String COUNTER_TEXT = "Duel Arena<br>Wins: <col=d0c0b0>4</col><br>Losses: <col=d0c0b0>2</col>" +
|
||||||
|
"<br><br>Last Man Standing<br>Rank: <col=d0c0b0>0</col>" +
|
||||||
|
"<br><br>Treasure Trails<br>Beginner: <col=d0c0b0>0</col><br>Easy: <col=d0c0b0>7</col>" +
|
||||||
|
"<br>Medium: <col=d0c0b0>28</col><br>Hard: <col=d0c0b0>108</col><br>Elite: <col=d0c0b0>15</col>" +
|
||||||
|
"<br>Master: <col=d0c0b0>27</col><br>Rank: <col=d0c0b0>Novice</col>" +
|
||||||
|
"<br><br>Chompy Hunting<br>Kills: <col=d0c0b0>1,000</col><br>Rank: <col=d0c0b0>Ogre Expert</col>" +
|
||||||
|
"<br><br>Order of the White Knights<br>Rank: <col=d0c0b0>Master</col><br>with a kill score of <col=d0c0b0>1,300</col>" +
|
||||||
|
"<br><br>TzHaar Fight Cave<br>Fastest run: <col=d0c0b0>38:10</col>" +
|
||||||
|
"<br><br>Inferno<br>Fastest run: <col=d0c0b0>-</col><br><br>Zulrah<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>5:48</col><br><br>Vorkath<br>Fastest kill: <col=d0c0b0>1:21</col>" +
|
||||||
|
"<br><br>Galvek<br>Fastest kill: <col=d0c0b0>-</col><br><br>Grotesque Guardians<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>2:49</col><br><br>Alchemical Hydra<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||||
|
"<br><br>Hespori<br>Fastest kill: <col=d0c0b0>0:57</col><br><br>Nightmare<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>3:30</col><br><br>The Gauntlet<br>Fastest run: <col=d0c0b0>-</col>" +
|
||||||
|
"<br><br>The Corrupted Gauntlet<br>Fastest run: <col=d0c0b0>-</col><br><br>Fragment of Seren<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>-</col><br><br>Barbarian Assault<br>High-level gambles: " +
|
||||||
|
"<col=d0c0b0>15</col><br><br>Fremennik spirits rested: <col=d0c0b0>0</col>";
|
||||||
|
|
||||||
|
Widget countersPage = mock(Widget.class);
|
||||||
|
when(countersPage.getText()).thenReturn(COUNTER_TEXT);
|
||||||
|
when(client.getWidget(WidgetInfo.COUNTERS_LOG_TEXT)).thenReturn(countersPage);
|
||||||
|
|
||||||
|
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||||
|
countersLogEvent.setGroupId(COUNTERS_LOG_GROUP_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("tztok-jad"), eq(38 * 60 + 10));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("zulrah"), eq(5 * 60 + 48));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("vorkath"), eq(1 * 60 + 21));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("grotesque guardians"), eq(2 * 60 + 49));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("hespori"), eq(57));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("nightmare"), eq( 3 * 60 + 30));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAdventurerLogCountersPage2()
|
||||||
|
{
|
||||||
|
Player player = mock(Player.class);
|
||||||
|
when(player.getName()).thenReturn(PLAYER_NAME);
|
||||||
|
when(client.getLocalPlayer()).thenReturn(player);
|
||||||
|
|
||||||
|
Widget advLogWidget = mock(Widget.class);
|
||||||
|
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||||
|
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||||
|
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + PLAYER_NAME);
|
||||||
|
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||||
|
|
||||||
|
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||||
|
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
String COUNTER_TEXT = "Duel Arena<br>Wins: <col=d0c0b0>12</col><br>Losses: <col=d0c0b0>20</col>" +
|
||||||
|
"<br><br>Last Man Standing<br>Rank: <col=d0c0b0>0</col>" +
|
||||||
|
"<br><br>Treasure Trails<br>Beginner: <col=d0c0b0>1</col><br>Easy: <col=d0c0b0>4</col>" +
|
||||||
|
"<br>Medium: <col=d0c0b0>35</col><br>Hard: <col=d0c0b0>66</col><br>Elite: <col=d0c0b0>2</col>" +
|
||||||
|
"<br>Master: <col=d0c0b0>0</col><br>Rank: <col=d0c0b0>Novice</col>" +
|
||||||
|
"<br><br>Chompy Hunting<br>Kills: <col=d0c0b0>300</col><br>Rank: <col=d0c0b0>Ogre Forester</col>" +
|
||||||
|
"<br><br>Order of the White Knights<br>Rank: <col=d0c0b0>Unrated</col><br>with a kill score of <col=d0c0b0>99</col>" +
|
||||||
|
"<br><br>TzHaar Fight Cave<br>Fastest run: <col=d0c0b0>65:12</col>" +
|
||||||
|
"<br><br>Inferno<br>Fastest run: <col=d0c0b0>-</col><br><br>Zulrah<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>2:55</col><br><br>Vorkath<br>Fastest kill: <col=d0c0b0>1:37</col>" +
|
||||||
|
"<br><br>Galvek<br>Fastest kill: <col=d0c0b0>-</col><br><br>Grotesque Guardians<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>-</col><br><br>Alchemical Hydra<br>Fastest kill: <col=d0c0b0>-</col>" +
|
||||||
|
"<br><br>Hespori<br>Fastest kill: <col=d0c0b0>1:42</col><br><br>Nightmare<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>-</col><br><br>The Gauntlet<br>Fastest run: <col=d0c0b0>-</col>" +
|
||||||
|
"<br><br>The Corrupted Gauntlet<br>Fastest run: <col=d0c0b0>-</col><br><br>Fragment of Seren<br>" +
|
||||||
|
"Fastest kill: <col=d0c0b0>-</col><br><br>Barbarian Assault<br>High-level gambles: " +
|
||||||
|
"<col=d0c0b0>0</col><br><br>Fremennik spirits rested: <col=d0c0b0>0</col>";
|
||||||
|
|
||||||
|
Widget countersPage = mock(Widget.class);
|
||||||
|
when(countersPage.getText()).thenReturn(COUNTER_TEXT);
|
||||||
|
when(client.getWidget(WidgetInfo.COUNTERS_LOG_TEXT)).thenReturn(countersPage);
|
||||||
|
|
||||||
|
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||||
|
countersLogEvent.setGroupId(COUNTERS_LOG_GROUP_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("tztok-jad"), eq(65 * 60 + 12));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("zulrah"), eq(2 * 60 + 55));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("vorkath"), eq(1 * 60 + 37));
|
||||||
|
verify(configManager).setConfiguration(eq("personalbest.adam"), eq("hespori"), eq(1 * 60 + 42));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNotYourAdventureLogCountersPage()
|
||||||
|
{
|
||||||
|
Player player = mock(Player.class);
|
||||||
|
when(player.getName()).thenReturn(PLAYER_NAME);
|
||||||
|
when(client.getLocalPlayer()).thenReturn(player);
|
||||||
|
|
||||||
|
Widget advLogWidget = mock(Widget.class);
|
||||||
|
Widget advLogExploitsTextWidget = mock(Widget.class);
|
||||||
|
when(advLogWidget.getChild(ChatCommandsPlugin.ADV_LOG_EXPLOITS_TEXT_INDEX)).thenReturn(advLogExploitsTextWidget);
|
||||||
|
when(advLogExploitsTextWidget.getText()).thenReturn("The Exploits of " + "not the player");
|
||||||
|
when(client.getWidget(WidgetInfo.ADVENTURE_LOG)).thenReturn(advLogWidget);
|
||||||
|
|
||||||
|
WidgetLoaded advLogEvent = new WidgetLoaded();
|
||||||
|
advLogEvent.setGroupId(ADVENTURE_LOG_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(advLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
WidgetLoaded countersLogEvent = new WidgetLoaded();
|
||||||
|
countersLogEvent.setGroupId(COUNTERS_LOG_GROUP_ID);
|
||||||
|
chatCommandsPlugin.onWidgetLoaded(countersLogEvent);
|
||||||
|
chatCommandsPlugin.onGameTick(new GameTick());
|
||||||
|
|
||||||
|
verifyNoMoreInteractions(configManager);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user