Work-in-progress on MUC member presence.

cefexperiments
Danny van Heumen 12 years ago
parent 1d57442c0c
commit db41fa2525

@ -3059,17 +3059,20 @@ public void loadSkin()
*/
public void chatRoomPropertyChanged(ChatRoomMemberPropertyChangeEvent event)
{
String message = GuiActivator.getResources().getI18NString(
"service.gui.CHAT_NICKNAME_CHANGE",
new String[]{
(String) event.getOldValue(),
(String) event.getNewValue()
});
this.conversationPanel
.appendMessageToEnd(
if (ChatRoomMemberPropertyChangeEvent.MEMBER_NICKNAME.equals(event
.getPropertyName()))
{
String message =
GuiActivator.getResources().getI18NString(
"service.gui.CHAT_NICKNAME_CHANGE",
new String[]
{ (String) event.getOldValue(),
(String) event.getNewValue() });
this.conversationPanel.appendMessageToEnd(
"<DIV identifier=\"message\" style=\"color:#707070;\">"
+ StringEscapeUtils.escapeHtml4(message) + "</DIV>",
+ StringEscapeUtils.escapeHtml4(message) + "</DIV>",
ChatHtmlUtils.HTML_CONTENT_TYPE);
}
}
/**

@ -91,9 +91,18 @@ public Component getListCellRendererComponent( JList list,
if(memberRole != null)
this.nameLabel.setIcon(
ChatContactRoleIcon.getRoleIcon(memberRole));
}
if (contactForegroundColor != null)
// FIXME Make solution more generic by querying color from presence
// status instance.
final int presenceStatus = member.getPresenceStatus().getStatus();
if (presenceStatus >= PresenceStatus.AVAILABLE_THRESHOLD) {
this.nameLabel.setForeground(Color.BLACK);
}
else if (presenceStatus >= PresenceStatus.AWAY_THRESHOLD) {
this.nameLabel.setForeground(Color.GRAY);
}
}
else if (contactForegroundColor != null)
this.nameLabel.setForeground(contactForegroundColor);
this.setBorder(BorderFactory.createEmptyBorder(1, 5, 1, 1));

@ -197,6 +197,9 @@ else if (element instanceof ChatContact<?>)
tip.addLine(ChatContactRoleIcon.getRoleIcon(member.getRole()),
roleName);
// FIXME Needs i18n status name
PresenceStatus status = member.getPresenceStatus();
tip.addLine(null, status.getStatusName());
}
}

@ -6,8 +6,7 @@
*/
package net.java.sip.communicator.impl.msghistory;
import static
net.java.sip.communicator.service.history.HistoryService.DATE_FORMAT;
import static net.java.sip.communicator.service.history.HistoryService.*;
import java.beans.*;
import java.io.*;
@ -24,9 +23,10 @@
import net.java.sip.communicator.service.msghistory.event.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.event.*;
import net.java.sip.communicator.service.protocol.globalstatus.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.account.*;
import org.jitsi.service.configuration.*;
import org.osgi.framework.*;
@ -2720,6 +2720,13 @@ public void setConferenceDescription(ConferenceDescription cd)
{
return;
}
@Override
public PresenceStatus getPresenceStatus()
{
// FIXME is this correct response?
return GlobalStatusEnum.ONLINE;
}
}
/**

@ -451,7 +451,7 @@ private void prepareChatRoom(final ChatRoomIrcImpl chatRoom,
final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(this.provider, chatRoom,
user.getNick(), user.getIdent(), user.getHostname(),
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
ChatRoomMemberRole role;
for (final IRCUserStatus status : channel.getStatusesForUser(user))
{
@ -790,11 +790,26 @@ private final class ChatRoomListener
*/
private static final int IRC_ERR_NOTONCHANNEL = 442;
/**
* IRC reply code for WHO reply entry for an individual user.
*/
private static final int IRC_RPL_WHOREPLY = 352;
/**
* IRC reply code for end of WHO reply list.
*/
private static final int IRC_RPL_ENDOFWHO = 315;
/**
* Chat room for which this listener is working.
*/
private final ChatRoomIrcImpl chatroom;
/**
* Periodic task timer.
*/
private final Timer presenceTaskTimer;
/**
* Constructor. Instantiate listener for the provided chat room.
*
@ -808,6 +823,27 @@ private ChatRoomListener(final ChatRoomIrcImpl chatroom)
throw new IllegalArgumentException("chatroom cannot be null");
}
this.chatroom = chatroom;
this.presenceTaskTimer = createPeriodicPresenceWatcher();
}
/**
* Create periodic task for updating channel presence statuses.
*/
private Timer createPeriodicPresenceWatcher() {
final Timer presence = new Timer();
final TimerTask task = new TimerTask()
{
@Override
public void run()
{
irc.rawMessage("WHO " + chatroom.getIdentifier());
}
};
// FIXME create constants
presence.schedule(task, 1000L, 60000L);
LOGGER.debug("Scheduled periodic task for querying member presence "
+ "for channel " + this.chatroom.getIdentifier());
return presence;
}
/**
@ -858,7 +894,7 @@ public void onChannelJoin(final ChanJoinMessage msg)
final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(ChannelManager.this.provider,
this.chatroom, user, ident, host,
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
this.chatroom.fireMemberPresenceEvent(member, null,
ChatRoomMemberPresenceChangeEvent.MEMBER_JOINED, null);
}
@ -951,11 +987,48 @@ public void onServerNumericMessage(final ServerNumericMessage msg)
}
break;
case IRC_RPL_WHOREPLY:
// FIXME filter out replies not for this channel
final String[] messageComponents = msg.getText().split(" ");
final String nick = messageComponents[4];
final ChatRoomMemberIrcImpl member =
(ChatRoomMemberIrcImpl) this.chatroom
.getChatRoomMember(nick);
if (member != null)
{
final IrcStatusEnum status =
determineStatus(messageComponents[5]);
final IrcStatusEnum previous =
member.setPresenceStatus(status);
final ChatRoomMemberPropertyChangeEvent presenceEvent =
new ChatRoomMemberPropertyChangeEvent(member,
this.chatroom,
ChatRoomMemberPropertyChangeEvent.MEMBER_PRESENCE,
previous, status);
this.chatroom.fireMemberPropertyChangeEvent(presenceEvent);
}
break;
default:
break;
}
}
/**
* Determine the presence status by the code in the IRC WHO reply.
*
* @param presenceReply presence code
* @return returns corresponding IrcStatusEnum instance
*/
private IrcStatusEnum determineStatus(final String presenceReply)
{
if (presenceReply != null && presenceReply.startsWith("G"))
{
return IrcStatusEnum.AWAY;
}
return IrcStatusEnum.ONLINE;
}
/**
* Event in case of channel kick.
*
@ -1009,9 +1082,12 @@ public void onChannelKick(final ChannelKick msg)
@Override
public void onUserQuit(final QuitMessage msg)
{
String user = msg.getSource().getNick();
super.onUserQuit(msg);
if (!localUser(user))
final String user = msg.getSource().getNick();
if (localUser(user))
{
this.presenceTaskTimer.cancel();
}
else
{
final ChatRoomMember member =
this.chatroom.getChatRoomMember(user);
@ -1022,6 +1098,18 @@ public void onUserQuit(final QuitMessage msg)
msg.getQuitMsg());
}
}
super.onUserQuit(msg);
}
/**
* Event in case of error. Cancel running timer then do the regular
* onError stuff.
*/
@Override
public void onError(ErrorMessage msg)
{
this.presenceTaskTimer.cancel();
super.onError(msg);
}
/**
@ -1071,11 +1159,12 @@ public void onChannelMessage(final ChannelPrivMsg msg)
final MessageIrcImpl message =
MessageIrcImpl.newMessageFromIRC(msg.getText());
// FIXME why create a new instance?
final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(ChannelManager.this.provider,
this.chatroom, msg.getSource().getNick(), msg.getSource()
.getIdent(), msg.getSource().getHostname(),
ChatRoomMemberRole.MEMBER);
ChatRoomMemberRole.MEMBER, IrcStatusEnum.ONLINE);
this.chatroom.fireMessageReceivedEvent(message, member, new Date(),
ChatRoomMessageReceivedEvent.CONVERSATION_MESSAGE_RECEIVED);
}
@ -1094,10 +1183,12 @@ public void onChannelAction(final ChannelActionMsg msg)
}
String userNick = msg.getSource().getNick();
// FIXME why create a new instance?
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(ChannelManager.this.provider,
this.chatroom, userNick, msg.getSource().getIdent(), msg
.getSource().getHostname(), ChatRoomMemberRole.MEMBER);
.getSource().getHostname(), ChatRoomMemberRole.MEMBER,
IrcStatusEnum.ONLINE);
MessageIrcImpl message =
MessageIrcImpl.newActionFromIRC(msg.getText());
this.chatroom.fireMessageReceivedEvent(message, member, new Date(),
@ -1118,10 +1209,12 @@ public void onChannelNotice(final ChannelNotice msg)
}
final String userNick = msg.getSource().getNick();
// FIXME why create a new instance?
final ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(ChannelManager.this.provider,
this.chatroom, userNick, msg.getSource().getIdent(), msg
.getSource().getHostname(), ChatRoomMemberRole.MEMBER);
.getSource().getHostname(), ChatRoomMemberRole.MEMBER,
IrcStatusEnum.ONLINE);
final MessageIrcImpl message =
MessageIrcImpl.newNoticeFromIRC(member, msg.getText());
this.chatroom.fireMessageReceivedEvent(message, member, new Date(),
@ -1133,6 +1226,7 @@ public void onChannelNotice(final ChannelNotice msg)
*/
private void leaveChatRoom()
{
this.presenceTaskTimer.cancel();
this.irc.deleteListener(this);
ChannelManager.this.joined.remove(this.chatroom.getIdentifier());
LOGGER.debug("Leaving chat room " + this.chatroom.getIdentifier()
@ -1348,7 +1442,7 @@ private ChatRoomMemberIrcImpl extractChatRoomMember(
member =
new ChatRoomMemberIrcImpl(ChannelManager.this.provider,
this.chatroom, "", "", "",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
}
else if (source instanceof IRCUser)
{

@ -58,6 +58,11 @@ public class ChatRoomMemberIrcImpl
private final SortedSet<ChatRoomMemberRole> roles =
new TreeSet<ChatRoomMemberRole>();
/**
* Member's presence status in the chat room.
*/
private IrcStatusEnum status;
/**
* Creates an instance of <tt>ChatRoomMemberIrcImpl</tt>, by specifying the
* protocol provider, the corresponding chat room, where this member is
@ -71,12 +76,14 @@ public class ChatRoomMemberIrcImpl
* @param ident ident of member
* @param hostname host name of member
* @param chatRoomMemberRole the role that this member has in the
* @param status current presence status
* corresponding chat room
*/
public ChatRoomMemberIrcImpl(
final ProtocolProviderServiceIrcImpl parentProvider,
final ChatRoom chatRoom, final String contactID, final String ident,
final String hostname, final ChatRoomMemberRole chatRoomMemberRole)
final String hostname, final ChatRoomMemberRole chatRoomMemberRole,
final IrcStatusEnum status)
{
if (parentProvider == null)
{
@ -110,6 +117,11 @@ public ChatRoomMemberIrcImpl(
throw new IllegalArgumentException("member role cannot be null");
}
this.roles.add(chatRoomMemberRole);
if (status == null)
{
throw new IllegalArgumentException("status cannot be null");
}
this.status = status;
}
/**
@ -298,4 +310,27 @@ public boolean equals(final Object obj)
return false;
return true;
}
/**
* Return the chat room member's most recent presence status.
*
* @return returns the most recent presence status
*/
@Override
public PresenceStatus getPresenceStatus()
{
return this.status;
}
/**
* Set a new presence status.
*
* @param status the new presence status
*/
IrcStatusEnum setPresenceStatus(final IrcStatusEnum status)
{
final IrcStatusEnum previous = this.status;
this.status = status;
return previous;
}
}

@ -362,7 +362,7 @@ protected ChatRoomMemberIrcImpl findSystemMember()
return new ChatRoomMemberIrcImpl(ircProvider, serverChatRoom,
ircProvider.getAccountID().getService(), "", ircProvider
.getAccountID().getServerAddress(),
ChatRoomMemberRole.GUEST);
ChatRoomMemberRole.GUEST, IrcStatusEnum.ONLINE);
}
}

@ -8,6 +8,7 @@
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.jabber.*;
import net.java.sip.communicator.service.protocol.jabberconstants.*;
import org.jivesoftware.smack.util.*;
import org.jivesoftware.smackx.muc.*;
@ -250,4 +251,17 @@ public void setContact(Contact contact)
{
this.contact = contact;
}
/**
* Current presence status of chat room member.
*
* @return returns current presence status
*/
@Override
public PresenceStatus getPresenceStatus()
{
// FIXME implement accurate status for chat room member
return ((ProtocolProviderServiceJabberImpl) getProtocolProvider())
.getJabberStatusEnum().getStatus(JabberStatusEnum.AVAILABLE);
}
}

@ -134,4 +134,14 @@ public Contact getContact()
{
return contact;
}
/**
* Returns status for fully available mock chat room member.
*/
@Override
public PresenceStatus getPresenceStatus()
{
// mock fully available
return MockStatusEnum.MOCK_STATUS_100;
}
}

@ -89,4 +89,15 @@ public interface ChatRoomMember
* to set for this member in its containing chat room.
*/
public void setRole(ChatRoomMemberRole role);
/**
* Returns the status of the chat room member as per the last status update
* we've received for it. Note that this method is not to perform any
* network operations and will simply return the status received in the last
* status update message.
*
* @return the PresenceStatus that we've received in the last status update
* pertaining to this contact.
*/
public PresenceStatus getPresenceStatus();
}

@ -30,6 +30,11 @@ public class ChatRoomMemberPropertyChangeEvent
*/
public static final String MEMBER_NICKNAME = "MemberNickname";
/**
* The presence status of the <tt>ChatRoomMember</tt> property.
*/
public static final String MEMBER_PRESENCE = "MemberPresence";
/**
* The <tt>ChatRoom</tt>, to which the corresponding member belongs.
*/

@ -20,7 +20,8 @@ public void testConstructorNullProvider()
try
{
new ChatRoomMemberIrcImpl(null, chatroom, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER);
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for parent provider instance");
}
catch (IllegalArgumentException e)
@ -36,7 +37,8 @@ public void testConstructorNullChatRoom()
try
{
new ChatRoomMemberIrcImpl(provider, null, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER);
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for ChatRoom instance");
}
catch (IllegalArgumentException e)
@ -53,7 +55,8 @@ public void testConstructorNullContactId()
try
{
new ChatRoomMemberIrcImpl(provider, chatroom, null, "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER);
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for ChatRoom instance");
}
catch (IllegalArgumentException e)
@ -70,7 +73,8 @@ public void testConstructorNullIdent()
try
{
new ChatRoomMemberIrcImpl(provider, chatroom, "user", null,
"host.name", ChatRoomMemberRole.SILENT_MEMBER);
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for ChatRoom instance");
}
catch (IllegalArgumentException e)
@ -87,7 +91,7 @@ public void testConstructorNullHostname()
try
{
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", null,
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for ChatRoom instance");
}
catch (IllegalArgumentException e)
@ -104,7 +108,7 @@ public void testConstructorNullRole()
try
{
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user",
"host.name", null);
"host.name", null, IrcStatusEnum.ONLINE);
Assert.fail("should throw IAE for ChatRoom instance");
}
catch (IllegalArgumentException e)
@ -119,7 +123,8 @@ public void testConstructorSuccessful()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
Assert.assertNotNull(new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER));
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE));
}
public void testCheckGetters()
@ -127,8 +132,10 @@ public void testCheckGetters()
ChatRoom chatroom = EasyMock.createMock(ChatRoom.class);
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.assertEquals(provider, member.getProtocolProvider());
Assert.assertEquals(chatroom, member.getChatRoom());
Assert.assertEquals("user", member.getContactAddress());
@ -143,7 +150,8 @@ public void testNameNull()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER);
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.assertEquals("user", member.getContactAddress());
Assert.assertEquals("user", member.getName());
try
@ -162,8 +170,10 @@ public void testNameChange()
ChatRoom chatroom = EasyMock.createMock(ChatRoom.class);
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.assertEquals("user", member.getContactAddress());
Assert.assertEquals("user", member.getName());
member.setName("myNewName");
@ -178,7 +188,7 @@ public void testRoleNull()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
member.setRole(null);
}
@ -187,8 +197,10 @@ public void testRoleUnchange()
ChatRoom chatroom = EasyMock.createMock(ChatRoom.class);
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user",
"host.name", ChatRoomMemberRole.SILENT_MEMBER,
IrcStatusEnum.ONLINE);
Assert.assertSame(ChatRoomMemberRole.SILENT_MEMBER, member.getRole());
member.setRole(ChatRoomMemberRole.ADMINISTRATOR);
Assert.assertSame(ChatRoomMemberRole.SILENT_MEMBER, member.getRole());
@ -201,7 +213,7 @@ public void testAddSignificantRole()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertSame(ChatRoomMemberRole.SILENT_MEMBER, member.getRole());
member.addRole(ChatRoomMemberRole.ADMINISTRATOR);
Assert.assertSame(ChatRoomMemberRole.ADMINISTRATOR, member.getRole());
@ -214,7 +226,7 @@ public void testRemoveSignificantRole()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
member.addRole(ChatRoomMemberRole.ADMINISTRATOR);
Assert.assertSame(ChatRoomMemberRole.ADMINISTRATOR, member.getRole());
member.removeRole(ChatRoomMemberRole.ADMINISTRATOR);
@ -228,7 +240,7 @@ public void testAddInsignificantRole()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
Assert.assertSame(ChatRoomMemberRole.ADMINISTRATOR, member.getRole());
member.addRole(ChatRoomMemberRole.MEMBER);
Assert.assertSame(ChatRoomMemberRole.ADMINISTRATOR, member.getRole());
@ -241,7 +253,7 @@ public void testRemoveInsignificantRole()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
member.addRole(ChatRoomMemberRole.MEMBER);
Assert.assertSame(ChatRoomMemberRole.ADMINISTRATOR, member.getRole());
member.removeRole(ChatRoomMemberRole.MEMBER);
@ -259,7 +271,7 @@ public void testGetContact()
EasyMock.replay(provider);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertNull(member.getContact());
}
@ -270,7 +282,7 @@ public void testGetAvatar()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "user", "user", "host.name",
ChatRoomMemberRole.SILENT_MEMBER);
ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertNull(member.getAvatar());
}
@ -280,7 +292,7 @@ public void testEqualsSame()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertTrue(member.equals(member));
}
@ -290,7 +302,7 @@ public void testEqualsNull()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertFalse(member.equals(null));
}
@ -300,7 +312,7 @@ public void testEqualsObject()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertFalse(member.equals(new Object()));
}
@ -310,11 +322,11 @@ public void testEqualsSameUserDifferentProvider()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member1 = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
ProtocolProviderServiceIrcImpl provider2 =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member2 = new ChatRoomMemberIrcImpl(provider2, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertFalse(member1.equals(member2));
}
@ -324,9 +336,9 @@ public void testEqualsSameProviderDifferentUser()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member1 = new ChatRoomMemberIrcImpl(provider, chatroom,
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"user", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
ChatRoomMemberIrcImpl member2 = new ChatRoomMemberIrcImpl(provider, chatroom,
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertFalse(member1.equals(member2));
}
@ -336,9 +348,9 @@ public void testEqualsTrue()
ProtocolProviderServiceIrcImpl provider =
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member1 = new ChatRoomMemberIrcImpl(provider, chatroom,
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
ChatRoomMemberIrcImpl member2 = new ChatRoomMemberIrcImpl(provider, chatroom,
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER);
"susy", "user", "host.name", ChatRoomMemberRole.SILENT_MEMBER, IrcStatusEnum.ONLINE);
Assert.assertTrue(member1.equals(member2));
}
@ -349,7 +361,7 @@ public void testHashcodeNotFailing()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "ET", "user", "host.name",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
member.hashCode();
}
@ -360,7 +372,7 @@ public void testGetIdent()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "ET", "user", "host.name",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
Assert.assertEquals("user", member.getIdent());
}
@ -371,7 +383,7 @@ public void testGetHostname()
EasyMock.createMock(ProtocolProviderServiceIrcImpl.class);
ChatRoomMemberIrcImpl member =
new ChatRoomMemberIrcImpl(provider, chatroom, "ET", "user", "host.name",
ChatRoomMemberRole.ADMINISTRATOR);
ChatRoomMemberRole.ADMINISTRATOR, IrcStatusEnum.ONLINE);
Assert.assertEquals("host.name", member.getHostname());
}
}

Loading…
Cancel
Save