public void testUserAgentIconMessage() throws IOException,
BrowserChannelException {
UserAgentIconMessage.send(channel, null);
MessageType type = channel.readMessageType();
assertEquals(MessageType.USER_AGENT_ICON, type);
UserAgentIconMessage message = UserAgentIconMessage.receive(channel);
assertFalse(message.isAsynchronous());
assertNull(message.getIconBytes());
UserAgentIconMessage.send(channel, new byte[0]);
type = channel.readMessageType();
assertEquals(MessageType.USER_AGENT_ICON, type);
message = UserAgentIconMessage.receive(channel);
assertFalse(message.isAsynchronous());
assertNull(message.getIconBytes());
byte[] bytes = new byte[] { 0, 1, 2, 3, 4 };
UserAgentIconMessage.send(channel, bytes);
type = channel.readMessageType();
assertEquals(MessageType.USER_AGENT_ICON, type);
message = UserAgentIconMessage.receive(channel);
assertFalse(message.isAsynchronous());
byte[] receivedBytes = message.getIconBytes();
assertNotNull(receivedBytes);
assertEquals(bytes.length, receivedBytes.length);
for (int i = 0; i < bytes.length; ++i) {
assertEquals(bytes[i], receivedBytes[i]);
}