Add unit test for big clipboard device message
Test clipboard synchronization from the device to the computer.
This commit is contained in:
parent
08c0c64af6
commit
d202d7b205
1 changed files with 22 additions and 0 deletions
|
@ -4,6 +4,7 @@
|
|||
#include "device_msg.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
static void test_deserialize_clipboard(void) {
|
||||
const unsigned char input[] = {
|
||||
DEVICE_MSG_TYPE_CLIPBOARD,
|
||||
|
@ -22,7 +23,28 @@ static void test_deserialize_clipboard(void) {
|
|||
device_msg_destroy(&msg);
|
||||
}
|
||||
|
||||
static void test_deserialize_clipboard_big(void) {
|
||||
unsigned char input[DEVICE_MSG_SERIALIZED_MAX_SIZE];
|
||||
input[0] = DEVICE_MSG_TYPE_CLIPBOARD;
|
||||
input[1] = DEVICE_MSG_TEXT_MAX_LENGTH >> 8; // MSB
|
||||
input[2] = DEVICE_MSG_TEXT_MAX_LENGTH & 0xff; // LSB
|
||||
|
||||
memset(input + 3, 'a', DEVICE_MSG_TEXT_MAX_LENGTH);
|
||||
|
||||
struct device_msg msg;
|
||||
ssize_t r = device_msg_deserialize(input, sizeof(input), &msg);
|
||||
assert(r == DEVICE_MSG_SERIALIZED_MAX_SIZE);
|
||||
|
||||
assert(msg.type == DEVICE_MSG_TYPE_CLIPBOARD);
|
||||
assert(msg.clipboard.text);
|
||||
assert(strlen(msg.clipboard.text) == DEVICE_MSG_TEXT_MAX_LENGTH);
|
||||
assert(msg.clipboard.text[0] == 'a');
|
||||
|
||||
device_msg_destroy(&msg);
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
test_deserialize_clipboard();
|
||||
test_deserialize_clipboard_big();
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue