Merge pull request #438 from Sethtroll/fixscreenshot

Fix for screenshot HP level
This commit is contained in:
Adam
2018-01-26 18:05:13 -05:00
committed by GitHub
4 changed files with 66 additions and 7 deletions

View File

@@ -256,7 +256,8 @@ public class WidgetID
static class LevelUp static class LevelUp
{ {
static final int TEXT = 1; static final int SKILL = 0;
static final int LEVEL = 1;
} }
static class QuestCompleted static class QuestCompleted

View File

@@ -157,7 +157,8 @@ public enum WidgetInfo
BA_DEF_ROLE_SPRITE(WidgetID.BA_DEFENDER_GROUP_ID, WidgetID.BarbarianAssault.ROLE_SPRITE), BA_DEF_ROLE_SPRITE(WidgetID.BA_DEFENDER_GROUP_ID, WidgetID.BarbarianAssault.ROLE_SPRITE),
LEVEL_UP(WidgetID.LEVEL_UP_GROUP_ID, 0), LEVEL_UP(WidgetID.LEVEL_UP_GROUP_ID, 0),
LEVEL_UP_TEXT(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.TEXT), LEVEL_UP_SKILL(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.SKILL),
LEVEL_UP_LEVEL(WidgetID.LEVEL_UP_GROUP_ID, WidgetID.LevelUp.LEVEL),
QUEST_COMPLETED(WidgetID.QUEST_COMPLETED_GROUP_ID, 0), QUEST_COMPLETED(WidgetID.QUEST_COMPLETED_GROUP_ID, 0),
QUEST_COMPLETED_NAME_TEXT(WidgetID.QUEST_COMPLETED_GROUP_ID, WidgetID.QuestCompleted.NAME_TEXT); QUEST_COMPLETED_NAME_TEXT(WidgetID.QUEST_COMPLETED_GROUP_ID, WidgetID.QuestCompleted.NAME_TEXT);

View File

@@ -247,18 +247,20 @@ public class ScreenshotPlugin extends Plugin
{ {
case LEVEL_UP_GROUP_ID: case LEVEL_UP_GROUP_ID:
{ {
Widget textChild = client.getWidget(WidgetInfo.LEVEL_UP_TEXT); Widget skillChild = client.getWidget(WidgetInfo.LEVEL_UP_SKILL);
Widget levelChild = client.getWidget(WidgetInfo.LEVEL_UP_LEVEL);
if (textChild == null) if (skillChild == null || levelChild == null)
{ {
return; return;
} }
// "Your Firemaking level is now 9." // "Your Firemaking level is now 9."
String text = textChild.getText(); String skillText = skillChild.getText();
String levelText = levelChild.getText();
String skillName = text.substring(5, text.indexOf(" level")); String skillName = skillText.substring(skillText.indexOf("a ") + 2, skillText.indexOf(" level."));
String skillLevel = text.substring(text.lastIndexOf(" ") + 1, text.length() - 1); String skillLevel = levelText.substring(levelText.lastIndexOf(" ") + 1, levelText.length() - 1);
fileName = skillName + " (" + skillLevel + ")"; fileName = skillName + " (" + skillLevel + ")";
break; break;

View File

@@ -28,10 +28,17 @@ import com.google.inject.Guice;
import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.Bind;
import com.google.inject.testing.fieldbinder.BoundFieldModule; import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.function.Consumer;
import javax.inject.Inject; import javax.inject.Inject;
import static net.runelite.api.ChatMessageType.SERVER; import static net.runelite.api.ChatMessageType.SERVER;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.WidgetHiddenChanged;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID;
import static net.runelite.api.widgets.WidgetInfo.LEVEL_UP_LEVEL;
import static net.runelite.api.widgets.WidgetInfo.LEVEL_UP_SKILL;
import static net.runelite.api.widgets.WidgetInfo.PACK;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.ClientUI;
@@ -40,7 +47,11 @@ import static org.junit.Assert.assertEquals;
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;
import org.mockito.Matchers;
import org.mockito.Mock; import org.mockito.Mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.mockito.runners.MockitoJUnitRunner; import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
@@ -104,4 +115,48 @@ public class ScreenshotPluginTest
assertEquals(310, screenshotPlugin.getBarrowsNumber()); assertEquals(310, screenshotPlugin.getBarrowsNumber());
} }
@Test
public void testHitpoints()
{
Widget widget = mock(Widget.class);
when(widget.getId()).thenReturn(PACK(LEVEL_UP_GROUP_ID, 0));
Widget skillChild = mock(Widget.class);
when(client.getWidget(Matchers.eq(LEVEL_UP_SKILL))).thenReturn(skillChild);
Widget levelChild = mock(Widget.class);
when(client.getWidget(Matchers.eq(LEVEL_UP_LEVEL))).thenReturn(levelChild);
when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Hitpoints level.");
when(levelChild.getText()).thenReturn("Your Hitpoints are now 99.");
WidgetHiddenChanged event = new WidgetHiddenChanged();
event.setWidget(widget);
screenshotPlugin.hideWidgets(event);
verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class));
}
@Test
public void testFiremaking()
{
Widget widget = mock(Widget.class);
when(widget.getId()).thenReturn(PACK(LEVEL_UP_GROUP_ID, 0));
Widget skillChild = mock(Widget.class);
when(client.getWidget(Matchers.eq(LEVEL_UP_SKILL))).thenReturn(skillChild);
Widget levelChild = mock(Widget.class);
when(client.getWidget(Matchers.eq(LEVEL_UP_LEVEL))).thenReturn(levelChild);
when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Firemaking level.");
when(levelChild.getText()).thenReturn("Your Firemaking level is now 9.");
WidgetHiddenChanged event = new WidgetHiddenChanged();
event.setWidget(widget);
screenshotPlugin.hideWidgets(event);
verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class));
}
} }