Jacek Caban : wininet: Added chunked stream blocking tests.
Module: wine Branch: master Commit: e7d6bba22e469e5508cbd248a4dd4fee4445da15 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e7d6bba22e469e5508cbd248a4... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Mon Aug 1 16:17:12 2016 +0200 wininet: Added chunked stream blocking tests. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wininet/tests/http.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c index e84ffa3..bf3f690 100644 --- a/dlls/wininet/tests/http.c +++ b/dlls/wininet/tests/http.c @@ -4718,6 +4718,47 @@ static void test_http_read(int port) close_async_handle(req.session, hCompleteEvent, 2); + open_read_test_request(port, &req, + "HTTP/1.1 200 OK\r\n" + "Server: winetest\r\n" + "Transfer-Encoding: chunked\r\n" + "\r\n" + "9\r\n123456789"); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "123456789"); + readex_expect_async(req.request, IRF_NO_WAIT, &ib, sizeof(buf)); + + send_response_and_wait("\r\n1\r\na\r\n1\r\nb\r", FALSE, &ib); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "ab"); + readex_expect_async(req.request, IRF_NO_WAIT, &ib, sizeof(buf)); + + send_response_and_wait("\n3\r\nab", FALSE, &ib); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "ab"); + readex_expect_async(req.request, IRF_NO_WAIT, &ib, sizeof(buf)); + + send_response_and_wait("c", FALSE, &ib); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "c"); + readex_expect_async(req.request, IRF_NO_WAIT, &ib, sizeof(buf)); + + send_response_and_wait("\r\n1\r\nx\r\n0\r\n\r\n", TRUE, &ib); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "x"); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), ""); + + close_async_handle(req.session, hCompleteEvent, 2); + + open_read_test_request(port, &req, + "HTTP/1.1 200 OK\r\n" + "Server: winetest\r\n" + "Transfer-Encoding: chunked\r\n" + "\r\n" + "3\r\n123\r\n"); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), "123"); + readex_expect_async(req.request, IRF_NO_WAIT, &ib, sizeof(buf)); + + send_response_and_wait("0\r\n\r\n", TRUE, &ib); + readex_expect_sync_data(req.request, IRF_NO_WAIT, &ib, sizeof(buf), ""); + + close_async_handle(req.session, hCompleteEvent, 2); + CloseHandle(hCompleteEvent); CloseHandle(conn_wait_event); CloseHandle(server_req_rec_event);
participants (1)
-
Alexandre Julliard