summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/message_decoder_unittest.cc
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-09 23:22:20 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-11-09 23:22:20 +0000
commit3adf1b2a65a85ff7d4b55cd57a4e400f104d27dd (patch)
tree235aee1f595583297e057b058a29d2ed24d9da92 /remoting/protocol/message_decoder_unittest.cc
parent9db9173baebf27623ce30770696f84a3fec74259 (diff)
downloadchromium_src-3adf1b2a65a85ff7d4b55cd57a4e400f104d27dd.zip
chromium_src-3adf1b2a65a85ff7d4b55cd57a4e400f104d27dd.tar.gz
chromium_src-3adf1b2a65a85ff7d4b55cd57a4e400f104d27dd.tar.bz2
Add VideoPacket struct for video packets. Refactor Decode interface to use it.
Various cleanups. BUG=None TEST=Unittests. Review URL: http://codereview.chromium.org/4476003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/message_decoder_unittest.cc')
-rw-r--r--remoting/protocol/message_decoder_unittest.cc39
1 files changed, 17 insertions, 22 deletions
diff --git a/remoting/protocol/message_decoder_unittest.cc b/remoting/protocol/message_decoder_unittest.cc
index 90c6680..c893d37 100644
--- a/remoting/protocol/message_decoder_unittest.cc
+++ b/remoting/protocol/message_decoder_unittest.cc
@@ -15,11 +15,9 @@
namespace remoting {
-static const int kWidth = 640;
-static const int kHeight = 480;
-static const std::string kTestData = "Chromoting rockz";
+static const int kTestKey = 142;
-static void AppendMessage(const ChromotingHostMessage& msg,
+static void AppendMessage(const ChromotingClientMessage& msg,
std::string* buffer) {
// Contains one encoded message.
scoped_refptr<net::IOBufferWithSize> encoded_msg;
@@ -32,17 +30,12 @@ static void PrepareData(uint8** buffer, int* size) {
// Contains all encoded messages.
std::string encoded_data;
- // The first message is InitClient.
- ChromotingHostMessage msg;
- msg.mutable_init_client()->set_width(kWidth);
- msg.mutable_init_client()->set_height(kHeight);
- AppendMessage(msg, &encoded_data);
- msg.Clear();
+ ChromotingClientMessage msg;
// Then append 10 update sequences to the data.
for (int i = 0; i < 10; ++i) {
- msg.mutable_video_packet()->set_sequence_number(0);
- msg.mutable_video_packet()->set_data(kTestData);
+ msg.mutable_key_event()->set_key(kTestKey + i);
+ msg.mutable_key_event()->set_pressed((i % 2) != 0);
AppendMessage(msg, &encoded_data);
msg.Clear();
}
@@ -67,7 +60,7 @@ void SimulateReadSequence(const int read_sequence[], int sequence_size) {
// Then feed the protocol decoder using the above generated data and the
// read pattern.
- std::list<ChromotingHostMessage*> message_list;
+ std::list<ChromotingClientMessage*> message_list;
for (int i = 0; i < size;) {
// First generate the amount to feed the decoder.
int read = std::min(size - i, read_sequence[i % sequence_size]);
@@ -80,19 +73,21 @@ void SimulateReadSequence(const int read_sequence[], int sequence_size) {
}
// Then verify the decoded messages.
- EXPECT_EQ(11u, message_list.size());
- EXPECT_TRUE(message_list.front()->has_init_client());
- delete message_list.front();
- message_list.pop_front();
+ EXPECT_EQ(10u, message_list.size());
- for (std::list<ChromotingHostMessage*>::iterator it =
+ int index = 0;
+ for (std::list<ChromotingClientMessage*>::iterator it =
message_list.begin();
it != message_list.end(); ++it) {
- ChromotingHostMessage* message = *it;
+ ChromotingClientMessage* message = *it;
// Partial update stream.
- EXPECT_TRUE(message->has_video_packet());
- EXPECT_EQ(kTestData,
- message->video_packet().data().data());
+ EXPECT_TRUE(message->has_key_event());
+
+ // TODO(sergeyu): Don't use index here. Instead store the expected values
+ // in an array.
+ EXPECT_EQ(kTestKey + index, message->key_event().key());
+ EXPECT_EQ((index % 2) != 0, message->key_event().pressed());
+ ++index;
}
STLDeleteElements(&message_list);
}