From 8be3210b87b342238811f21e4cd4faeceb06d58f Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 6 Jun 2022 20:14:26 -0400 Subject: [PATCH] chatfilter: fix matching lt/gt These are encoded as and and so require the patterns to match those, which is unintuitive --- .../client/plugins/chatfilter/ChatFilterPlugin.java | 4 +++- .../plugins/chatfilter/ChatFilterPluginTest.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java index e5befde35f..8ed1c51fea 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterPlugin.java @@ -320,7 +320,9 @@ public class ChatFilterPlugin extends Plugin String censorMessage(final String username, final String message) { String strippedMessage = jagexPrintableCharMatcher.retainFrom(message) - .replace('\u00A0', ' '); + .replace('\u00A0', ' ') + .replaceAll("", "<") + .replaceAll("", ">"); String strippedAccents = stripAccents(strippedMessage); assert strippedMessage.length() == strippedAccents.length(); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java index 324e3dacdf..318615fc43 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatfilter/ChatFilterPluginTest.java @@ -453,4 +453,15 @@ public class ChatFilterPluginTest chatFilterPlugin.onScriptCallbackEvent(event); assertEquals(1, client.getIntStack()[client.getIntStackSize() - 3]); // not filtered } + + @Test + public void testLtGt() + { + when(chatFilterConfig.filteredWords()).thenReturn("fr"); + + chatFilterPlugin.updateFilteredPatterns(); + + String message = chatFilterPlugin.censorMessage("Adam", "start filter end"); + assertEquals("start ******** end", message); + } } \ No newline at end of file