diff --git a/src/main/java/universalDiscord/notifiers/CollectionNotifier.java b/src/main/java/universalDiscord/notifiers/CollectionNotifier.java index 4e1e19c..4cc76c0 100644 --- a/src/main/java/universalDiscord/notifiers/CollectionNotifier.java +++ b/src/main/java/universalDiscord/notifiers/CollectionNotifier.java @@ -12,7 +12,7 @@ import java.util.regex.Pattern; public class CollectionNotifier extends BaseNotifier implements ChatMessageHandler { - private static final Pattern COLLECTION_LOG_REGEX = Pattern.compile("New item added to your collection log: (?[\\w,\\s-.]+)"); + public static final Pattern COLLECTION_LOG_REGEX = Pattern.compile("New item added to your collection log: (?[\\w,\\s-.'()]+)"); private Matcher lastMatcher; diff --git a/src/test/java/universalDiscord/CollectionNotifierTest.java b/src/test/java/universalDiscord/CollectionNotifierTest.java new file mode 100644 index 0000000..20840d7 --- /dev/null +++ b/src/test/java/universalDiscord/CollectionNotifierTest.java @@ -0,0 +1,38 @@ +package universalDiscord; + +import org.junit.Test; +import universalDiscord.notifiers.CollectionNotifier; + +import java.util.regex.Matcher; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + + +public class CollectionNotifierTest { + + + @Test + public void testCollectionLogRegex() { + String[] itemNames = { + "Xeric's talisman (inert)", + "Jar of miasma", + "Saradomin's light", + "Craw's bow", + "Thammaron's sceptre", + "Chompy bird hat (ogre yeoman)", + "Robe bottoms of the eye", + "Bucket helm (g)", + "Black d'hide body (g)", + "Tzhaar-ket-om ornament kit", + }; + + for (String itemName : itemNames) { + String chatLine = "New item added to your collection log: " + itemName; + Matcher matcher = CollectionNotifier.COLLECTION_LOG_REGEX.matcher(chatLine); + boolean finds = matcher.find(); + assertTrue(finds); + assertEquals(itemName, matcher.group("itemName")); + } + } +}