diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index ed44d42165..c3d4b99cb2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -308,7 +308,7 @@ public class ScreenshotPlugin extends Plugin takeScreenshot(fileName, config.displayDate()); } - private String parseLevelUpWidget(WidgetInfo levelUpSkill, WidgetInfo levelUpLevel) + public String parseLevelUpWidget(WidgetInfo levelUpSkill, WidgetInfo levelUpLevel) { Widget skillChild = client.getWidget(levelUpSkill); Widget levelChild = client.getWidget(levelUpLevel); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java index bb51c2ccdd..8d4efc0e76 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/screenshot/ScreenshotPluginTest.java @@ -35,7 +35,10 @@ import net.runelite.api.Client; 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.HUNTER_LEVEL_UP_GROUP_ID; import static net.runelite.api.widgets.WidgetID.LEVEL_UP_GROUP_ID; +import static net.runelite.api.widgets.WidgetInfo.HUNTER_LEVEL_UP_LEVEL; +import static net.runelite.api.widgets.WidgetInfo.HUNTER_LEVEL_UP_SKILL; 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; @@ -133,6 +136,8 @@ public class ScreenshotPluginTest when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Hitpoints level."); when(levelChild.getText()).thenReturn("Your Hitpoints are now 99."); + assertEquals("Hitpoints(99)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_SKILL, LEVEL_UP_LEVEL)); + WidgetHiddenChanged event = new WidgetHiddenChanged(); event.setWidget(widget); screenshotPlugin.hideWidgets(event); @@ -155,6 +160,56 @@ public class ScreenshotPluginTest when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Firemaking level."); when(levelChild.getText()).thenReturn("Your Firemaking level is now 9."); + assertEquals("Firemaking(9)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_SKILL, LEVEL_UP_LEVEL)); + + WidgetHiddenChanged event = new WidgetHiddenChanged(); + event.setWidget(widget); + screenshotPlugin.hideWidgets(event); + + verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class)); + } + + @Test + public void testAttack() + { + 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 an Attack level."); + when(levelChild.getText()).thenReturn("Your Attack level is now 70."); + + assertEquals("Attack(70)", screenshotPlugin.parseLevelUpWidget(LEVEL_UP_SKILL, LEVEL_UP_LEVEL)); + + WidgetHiddenChanged event = new WidgetHiddenChanged(); + event.setWidget(widget); + screenshotPlugin.hideWidgets(event); + + verify(overlayRenderer).requestScreenshot(Matchers.any(Consumer.class)); + } + + @Test + public void testHunter() + { + Widget widget = mock(Widget.class); + when(widget.getId()).thenReturn(PACK(HUNTER_LEVEL_UP_GROUP_ID, 0)); + + Widget skillChild = mock(Widget.class); + when(client.getWidget(Matchers.eq(HUNTER_LEVEL_UP_SKILL))).thenReturn(skillChild); + + Widget levelChild = mock(Widget.class); + when(client.getWidget(Matchers.eq(HUNTER_LEVEL_UP_LEVEL))).thenReturn(levelChild); + + when(skillChild.getText()).thenReturn("Congratulations, you just advanced a Hunter level."); + when(levelChild.getText()).thenReturn("Your Hunter level is now 2."); + + assertEquals("Hunter(2)", screenshotPlugin.parseLevelUpWidget(HUNTER_LEVEL_UP_SKILL, HUNTER_LEVEL_UP_LEVEL)); + WidgetHiddenChanged event = new WidgetHiddenChanged(); event.setWidget(widget); screenshotPlugin.hideWidgets(event);