Commit 2c4a7793 authored by Matt Tucker's avatar Matt Tucker Committed by matt

Updated test cases from Conor Hayes.

git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@2696 b35dd754-fafc-0310-a699-88a17e54d16e
parent e5bb78c8
......@@ -11,45 +11,36 @@ import org.xmpp.packet.Message;
*
* @author chayes
*/
public class ContentFilterTest extends TestCase
{
public class ContentFilterTest extends TestCase {
private ContentFilter filter;
public static void main(String[] args)
{
public static void main(String[] args) {
junit.textui.TestRunner.run(ContentFilterTest.class);
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception
{
protected void setUp() throws Exception {
filter = new ContentFilter();
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception
{
protected void tearDown() throws Exception {
super.tearDown();
}
public void testSetInvalidPatterns()
{
try
{
public void testSetInvalidPatterns() {
try {
filter.setPatterns("$*[");
fail("expected PatternSyntaxException");
} catch (PatternSyntaxException e) {
}
catch (PatternSyntaxException e)
{
System.out.println(e.getMessage());
System.out.println(e.getPattern());
}
}
public void testSetContentMask()
{
public void testSetContentMask() {
assertFalse(filter.isMaskingContent());
filter.setMask("dummy");
assertTrue(filter.isMaskingContent());
......@@ -57,8 +48,7 @@ public class ContentFilterTest extends TestCase
assertFalse(filter.isMaskingContent());
}
public void testFilterWithEmptyMessage()
{
public void testFilterWithEmptyMessage() {
Message message = new Message();
boolean matched = filter.filter(message);
......@@ -69,8 +59,7 @@ public class ContentFilterTest extends TestCase
assertEquals(new Message().toXML(), message.toXML());
}
public void testFilterMessageSubject()
{
public void testFilterMessageSubject() {
// filter on the word fox
filter.setPatterns("fox");
......@@ -88,13 +77,12 @@ public class ContentFilterTest extends TestCase
assertNull(message.getBody());
}
public void testFilterMessageSubjectWithMask()
{
public void testFilterMessageSubjectWithMask() {
// filter on the word fox
filter.setPatterns("fox");
//set a content mask
// set a content mask
filter.setMask("**");
// test message
......@@ -112,8 +100,7 @@ public class ContentFilterTest extends TestCase
}
public void testFilterMessageBody()
{
public void testFilterMessageBody() {
// filter on the word fox
filter.setPatterns("fox");
......@@ -132,8 +119,7 @@ public class ContentFilterTest extends TestCase
assertNull(message.getSubject());
}
public void testFilterMessageBodyWithMask()
{
public void testFilterMessageBodyWithMask() {
// filter on the word "fox" and "dog"
filter.setPatterns("fox,dog");
......@@ -153,4 +139,22 @@ public class ContentFilterTest extends TestCase
assertNull(message.getSubject());
}
public void testFilterWholeWords() {
filter.setPatterns("at"); //match every instance of "at" in string
filter.setMask("**");
Message message = new Message();
message.setBody("At noon the fat cats ate lunch at Rizzos");
boolean matched = filter.filter(message);
assertTrue(matched);
assertEquals("At noon the f** c**s **e lunch ** Rizzos", message.getBody());
filter.setPatterns("(?i)\\bat\\b"); //match only whole word instances of "at" ignoring case
message.setBody("At noon the fat cats ate lunch at Rizzos");
matched = filter.filter(message);
assertTrue(matched);
System.out.println(message.getBody());
assertEquals("** noon the fat cats ate lunch ** Rizzos", message.getBody());
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment