Title: [200145] trunk/LayoutTests
- Revision
- 200145
- Author
- [email protected]
- Date
- 2016-04-27 12:45:17 -0700 (Wed, 27 Apr 2016)
Log Message
Add layout tests for legacy HTTP headers in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=157095
Patch by John Wilander <[email protected]> on 2016-04-27
Reviewed by Alexey Proskuryakov.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt: Added.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html: Added.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
Test for legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt: Added.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html: Added.
* http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
Test for legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (200144 => 200145)
--- trunk/LayoutTests/ChangeLog 2016-04-27 19:40:52 UTC (rev 200144)
+++ trunk/LayoutTests/ChangeLog 2016-04-27 19:45:17 UTC (rev 200145)
@@ -1,3 +1,23 @@
+2016-04-27 John Wilander <[email protected]>
+
+ Add layout tests for legacy HTTP headers in WebSockets
+ https://bugs.webkit.org/show_bug.cgi?id=157095
+
+ Reviewed by Alexey Proskuryakov.
+
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt: Added.
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html: Added.
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py: Added.
+ (web_socket_do_extra_handshake):
+ (web_socket_transfer_data):
+ Test for legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt: Added.
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html: Added.
+ * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py: Added.
+ (web_socket_do_extra_handshake):
+ (web_socket_transfer_data):
+ Test for legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.
+
2016-04-27 Adam Bergkvist <[email protected]>
WebRTC: RTCIceCandidate don't need a custom bindings
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,9 @@
+Test whether WebSocket handshake is OK with legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+PASS closeEvent.isTrusted is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <script src=""
+</head>
+<body>
+<div id="description"></div>
+<div id="console"></div>
+<script>
+ description("Test whether WebSocket handshake is OK with legacy response headers 'Sec-WebSocket-Location' and 'Sec-WebSocket-Origin'.");
+
+ window.jsTestIsAsync = true;
+
+ var url = ""
+ var ws = new WebSocket(url);
+ var closeEvent;
+
+ ws._onopen_ = function() {
+ ws.close();
+ };
+
+ ws._onclose_ = function(event) {
+ closeEvent = event;
+ shouldBeTrue("closeEvent.isTrusted");
+ finishJSTest();
+ };
+</script>
+<script src=""
+</body>
+</html>
\ No newline at end of file
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers_wsh.py 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,19 @@
+from mod_pywebsocket import handshake
+from mod_pywebsocket import stream
+from mod_pywebsocket.handshake.hybi import compute_accept
+
+
+def web_socket_do_extra_handshake(request):
+ message = 'HTTP/1.1 101 Switching Protocols\r\n'
+ message += 'Upgrade: websocket\r\n'
+ message += 'Connection: Upgrade\r\n'
+ message += 'Sec-WebSocket-Origin: http://localhost:8880\r\n'
+ message += 'Sec-WebSocket-Location: ws://localhost:8880/bogus\r\n'
+ message += 'Sec-WebSocket-Accept: %s\r\n' % compute_accept(request.headers_in['Sec-WebSocket-Key'])[0]
+ message += '\r\n'
+ request.connection.write(message)
+ raise handshake.AbortedByUserException('Abort the connection') # Prevents pywebsocket from sending its own handshake message.
+
+
+def web_socket_transfer_data(request):
+ pass
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,9 @@
+Test whether WebSocket handshake is OK with legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+PASS closeEvent.isTrusted is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <script src=""
+</head>
+<body>
+<div id="description"></div>
+<div id="console"></div>
+<script>
+ description("Test whether WebSocket handshake is OK with legacy response headers 'WebSocket-Location' and 'WebSocket-Origin'.");
+
+ window.jsTestIsAsync = true;
+
+ var url = ""
+ var ws = new WebSocket(url);
+ var closeEvent;
+
+ ws._onopen_ = function() {
+ ws.close();
+ };
+
+ ws._onclose_ = function(event) {
+ closeEvent = event;
+ shouldBeTrue("closeEvent.isTrusted");
+ finishJSTest();
+ };
+</script>
+<script src=""
+</body>
+</html>
\ No newline at end of file
Added: trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py (0 => 200145)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py (rev 0)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers_wsh.py 2016-04-27 19:45:17 UTC (rev 200145)
@@ -0,0 +1,19 @@
+from mod_pywebsocket import handshake
+from mod_pywebsocket import stream
+from mod_pywebsocket.handshake.hybi import compute_accept
+
+
+def web_socket_do_extra_handshake(request):
+ message = 'HTTP/1.1 101 Switching Protocols\r\n'
+ message += 'Upgrade: websocket\r\n'
+ message += 'Connection: Upgrade\r\n'
+ message += 'WebSocket-Origin: http://localhost:8880\r\n'
+ message += 'WebSocket-Location: ws://localhost:8880/bogus\r\n'
+ message += 'Sec-WebSocket-Accept: %s\r\n' % compute_accept(request.headers_in['Sec-WebSocket-Key'])[0]
+ message += '\r\n'
+ request.connection.write(message)
+ raise handshake.AbortedByUserException('Abort the connection') # Prevents pywebsocket from sending its own handshake message.
+
+
+def web_socket_transfer_data(request):
+ pass
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes