forked from cory/tildefriends
libuv 1.47.0.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4615 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
60
deps/libuv/test/test-tty-duplicate-key.c
vendored
60
deps/libuv/test/test-tty-duplicate-key.c
vendored
@ -73,7 +73,7 @@ static void tty_read(uv_stream_t* tty_in, ssize_t nread, const uv_buf_t* buf) {
|
||||
}
|
||||
uv_close((uv_handle_t*) tty_in, NULL);
|
||||
} else {
|
||||
ASSERT(nread == 0);
|
||||
ASSERT_OK(nread);
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,25 +150,25 @@ TEST_IMPL(tty_duplicate_vt100_fn_key) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
ASSERT(handle != INVALID_HANDLE_VALUE);
|
||||
ASSERT_PTR_NE(handle, INVALID_HANDLE_VALUE);
|
||||
ttyin_fd = _open_osfhandle((intptr_t) handle, 0);
|
||||
ASSERT(ttyin_fd >= 0);
|
||||
ASSERT(UV_TTY == uv_guess_handle(ttyin_fd));
|
||||
ASSERT_GE(ttyin_fd, 0);
|
||||
ASSERT_EQ(UV_TTY, uv_guess_handle(ttyin_fd));
|
||||
|
||||
r = uv_tty_init(uv_default_loop(), &tty_in, ttyin_fd, 1); /* Readable. */
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
ASSERT(uv_is_readable((uv_stream_t*) &tty_in));
|
||||
ASSERT(!uv_is_writable((uv_stream_t*) &tty_in));
|
||||
|
||||
r = uv_read_start((uv_stream_t*)&tty_in, tty_alloc, tty_read);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
expect_str = ESC"[[A";
|
||||
expect_nread = strlen(expect_str);
|
||||
|
||||
/* Turn on raw mode. */
|
||||
r = uv_tty_set_mode(&tty_in, UV_TTY_MODE_RAW);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/*
|
||||
* Send F1 keystrokes. Test of issue cause by #2114 that vt100 fn key
|
||||
@ -176,7 +176,7 @@ TEST_IMPL(tty_duplicate_vt100_fn_key) {
|
||||
*/
|
||||
make_key_event_records(VK_F1, 0, TRUE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == ARRAY_SIZE(records));
|
||||
ASSERT_EQ(written, ARRAY_SIZE(records));
|
||||
|
||||
uv_run(loop, UV_RUN_DEFAULT);
|
||||
|
||||
@ -204,45 +204,45 @@ TEST_IMPL(tty_duplicate_alt_modifier_key) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
ASSERT(handle != INVALID_HANDLE_VALUE);
|
||||
ASSERT_PTR_NE(handle, INVALID_HANDLE_VALUE);
|
||||
ttyin_fd = _open_osfhandle((intptr_t) handle, 0);
|
||||
ASSERT(ttyin_fd >= 0);
|
||||
ASSERT(UV_TTY == uv_guess_handle(ttyin_fd));
|
||||
ASSERT_GE(ttyin_fd, 0);
|
||||
ASSERT_EQ(UV_TTY, uv_guess_handle(ttyin_fd));
|
||||
|
||||
r = uv_tty_init(uv_default_loop(), &tty_in, ttyin_fd, 1); /* Readable. */
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
ASSERT(uv_is_readable((uv_stream_t*) &tty_in));
|
||||
ASSERT(!uv_is_writable((uv_stream_t*) &tty_in));
|
||||
|
||||
r = uv_read_start((uv_stream_t*)&tty_in, tty_alloc, tty_read);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
expect_str = ESC"a"ESC"a";
|
||||
expect_nread = strlen(expect_str);
|
||||
|
||||
/* Turn on raw mode. */
|
||||
r = uv_tty_set_mode(&tty_in, UV_TTY_MODE_RAW);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/* Emulate transmission of M-a at normal console */
|
||||
make_key_event_records(VK_MENU, 0, TRUE, alt_records);
|
||||
WriteConsoleInputW(handle, &alt_records[0], 1, &written);
|
||||
ASSERT(written == 1);
|
||||
ASSERT_EQ(1, written);
|
||||
make_key_event_records(L'A', LEFT_ALT_PRESSED, FALSE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == 2);
|
||||
ASSERT_EQ(2, written);
|
||||
WriteConsoleInputW(handle, &alt_records[1], 1, &written);
|
||||
ASSERT(written == 1);
|
||||
ASSERT_EQ(1, written);
|
||||
|
||||
/* Emulate transmission of M-a at WSL(#2111) */
|
||||
make_key_event_records(VK_MENU, 0, TRUE, alt_records);
|
||||
WriteConsoleInputW(handle, &alt_records[0], 1, &written);
|
||||
ASSERT(written == 1);
|
||||
ASSERT_EQ(1, written);
|
||||
make_key_event_records(L'A', LEFT_ALT_PRESSED, TRUE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == 2);
|
||||
ASSERT_EQ(2, written);
|
||||
WriteConsoleInputW(handle, &alt_records[1], 1, &written);
|
||||
ASSERT(written == 1);
|
||||
ASSERT_EQ(1, written);
|
||||
|
||||
uv_run(loop, UV_RUN_DEFAULT);
|
||||
|
||||
@ -270,25 +270,25 @@ TEST_IMPL(tty_composing_character) {
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
ASSERT(handle != INVALID_HANDLE_VALUE);
|
||||
ASSERT_PTR_NE(handle, INVALID_HANDLE_VALUE);
|
||||
ttyin_fd = _open_osfhandle((intptr_t) handle, 0);
|
||||
ASSERT(ttyin_fd >= 0);
|
||||
ASSERT(UV_TTY == uv_guess_handle(ttyin_fd));
|
||||
ASSERT_GE(ttyin_fd, 0);
|
||||
ASSERT_EQ(UV_TTY, uv_guess_handle(ttyin_fd));
|
||||
|
||||
r = uv_tty_init(uv_default_loop(), &tty_in, ttyin_fd, 1); /* Readable. */
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
ASSERT(uv_is_readable((uv_stream_t*) &tty_in));
|
||||
ASSERT(!uv_is_writable((uv_stream_t*) &tty_in));
|
||||
|
||||
r = uv_read_start((uv_stream_t*)&tty_in, tty_alloc, tty_read);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
expect_str = EUR_UTF8;
|
||||
expect_nread = strlen(expect_str);
|
||||
|
||||
/* Turn on raw mode. */
|
||||
r = uv_tty_set_mode(&tty_in, UV_TTY_MODE_RAW);
|
||||
ASSERT(r == 0);
|
||||
ASSERT_OK(r);
|
||||
|
||||
/* Emulate EUR inputs by LEFT ALT+NUMPAD ASCII KeyComos */
|
||||
make_key_event_records(VK_MENU, 0, FALSE, alt_records);
|
||||
@ -296,16 +296,16 @@ TEST_IMPL(tty_composing_character) {
|
||||
WriteConsoleInputW(handle, &alt_records[0], 1, &written);
|
||||
make_key_event_records(VK_NUMPAD0, LEFT_ALT_PRESSED, FALSE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == ARRAY_SIZE(records));
|
||||
ASSERT_EQ(written, ARRAY_SIZE(records));
|
||||
make_key_event_records(VK_NUMPAD1, LEFT_ALT_PRESSED, FALSE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == ARRAY_SIZE(records));
|
||||
ASSERT_EQ(written, ARRAY_SIZE(records));
|
||||
make_key_event_records(VK_NUMPAD2, LEFT_ALT_PRESSED, FALSE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == ARRAY_SIZE(records));
|
||||
ASSERT_EQ(written, ARRAY_SIZE(records));
|
||||
make_key_event_records(VK_NUMPAD8, LEFT_ALT_PRESSED, FALSE, records);
|
||||
WriteConsoleInputW(handle, records, ARRAY_SIZE(records), &written);
|
||||
ASSERT(written == ARRAY_SIZE(records));
|
||||
ASSERT_EQ(written, ARRAY_SIZE(records));
|
||||
WriteConsoleInputW(handle, &alt_records[1], 1, &written);
|
||||
|
||||
uv_run(loop, UV_RUN_DEFAULT);
|
||||
|
Reference in New Issue
Block a user