Added support for 'b' channel mode.

fix-message-formatting
Danny van Heumen 12 years ago
parent f787a5dacb
commit c1f13e0cf2

@ -22,7 +22,8 @@ public enum Mode
LIMIT('l', null),
PRIVATE('p', null),
SECRET('s', null),
INVITE('i', null);
INVITE('i', null),
BAN('b', null);
/**
* Find Mode instance by mode char.

@ -105,15 +105,21 @@ private ModeEntry process(boolean add, char mode)
case 'v':
return new ModeEntry(add, Mode.VOICE, this.params[this.index++]);
case 'l':
String[] params = (add ? new String[]
{ this.params[this.index++] } : new String[] {});
return new ModeEntry(add, Mode.LIMIT, params);
String[] limitparams;
if (add)
limitparams = new String[]
{ this.params[this.index++] };
else
limitparams = new String[] {};
return new ModeEntry(add, Mode.LIMIT, limitparams);
case 'p':
return new ModeEntry(add, Mode.PRIVATE);
case 's':
return new ModeEntry(add, Mode.SECRET);
case 'i':
return new ModeEntry(add, Mode.INVITE);
case 'b':
return new ModeEntry(add, Mode.BAN, this.params[this.index++]);
default:
return new ModeEntry(add, Mode.UNKNOWN, ""+mode);
}

@ -195,6 +195,19 @@ public void testModeInvite()
Assert.assertEquals(0, modes.get(0).getParams().length);
}
public void testModeBan()
{
ModeParser parser = new ModeParser("+b *!*@some-ip.dynamicIP.provider.net");
List<ModeEntry> modes = parser.getModes();
Assert.assertNotNull(modes);
Assert.assertEquals(1, modes.size());
ModeEntry entry = modes.get(0);
Assert.assertTrue(entry instanceof ModeEntry);
Assert.assertEquals(Mode.BAN, entry.getMode());
Assert.assertEquals(1, entry.getParams().length);
Assert.assertEquals("*!*@some-ip.dynamicIP.provider.net", entry.getParams()[0]);
}
protected void tearDown() throws Exception
{
super.tearDown();

Loading…
Cancel
Save