Title: [112488] trunk/LayoutTests
- Revision
- 112488
- Author
- [email protected]
- Date
- 2012-03-28 18:32:28 -0700 (Wed, 28 Mar 2012)
Log Message
[WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
https://bugs.webkit.org/show_bug.cgi?id=82100
Patch by Li Yin <[email protected]> on 2012-03-28
Reviewed by Kent Tamura.
The current reserved bits test case only support extension case,
Improve test case to cover both no-extension and extension scenarios.
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits.html:
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py:
(web_socket_do_extra_handshake):
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (112487 => 112488)
--- trunk/LayoutTests/ChangeLog 2012-03-29 01:29:30 UTC (rev 112487)
+++ trunk/LayoutTests/ChangeLog 2012-03-29 01:32:28 UTC (rev 112488)
@@ -1,3 +1,18 @@
+2012-03-28 Li Yin <[email protected]>
+
+ [WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
+ https://bugs.webkit.org/show_bug.cgi?id=82100
+
+ Reviewed by Kent Tamura.
+
+ The current reserved bits test case only support extension case,
+ Improve test case to cover both no-extension and extension scenarios.
+
+ * http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
+ * http/tests/websocket/tests/hybi/reserved-bits.html:
+ * http/tests/websocket/tests/hybi/reserved-bits_wsh.py:
+ (web_socket_do_extra_handshake):
+
2012-03-28 Victor Carbune <[email protected]>
Added relevant test to support video controls display:none toggling.
Modified: trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits-expected.txt (112487 => 112488)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits-expected.txt 2012-03-29 01:29:30 UTC (rev 112487)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits-expected.txt 2012-03-29 01:32:28 UTC (rev 112488)
@@ -1,17 +1,32 @@
+CONSOLE MESSAGE: Received unexpected compressed frame
CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 1, reserved3 = 0
CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 0, reserved3 = 1
+CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 1, reserved3 = 0
+CONSOLE MESSAGE: One or more reserved bits are on: reserved2 = 0, reserved3 = 1
Test whether WebSocket rejects frames whose reserved bit is on.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-Bit 2: Test started.
+Case compressed=false&bitNumber=1: Test started.
onopen() was called.
onclose() was called.
PASS closeEvent.wasClean is false
-Bit 3: Test started.
+Case compressed=false&bitNumber=2: Test started.
onopen() was called.
onclose() was called.
PASS closeEvent.wasClean is false
+Case compressed=false&bitNumber=3: Test started.
+onopen() was called.
+onclose() was called.
+PASS closeEvent.wasClean is false
+Case compressed=true&bitNumber=2: Test started.
+onopen() was called.
+onclose() was called.
+PASS closeEvent.wasClean is false
+Case compressed=true&bitNumber=3: Test started.
+onopen() was called.
+onclose() was called.
+PASS closeEvent.wasClean is false
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits.html (112487 => 112488)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits.html 2012-03-29 01:29:30 UTC (rev 112487)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits.html 2012-03-29 01:32:28 UTC (rev 112488)
@@ -13,15 +13,20 @@
if (window.layoutTestController)
layoutTestController.overridePreference("WebKitHixie76WebSocketProtocolEnabled", 0);
+// "compressed=true&bitNumber=1" must not be included in compressedAndBitNumberParameters array.
+var compressedAndBitNumberParameters = ["compressed=false&bitNumber=1",
+ "compressed=false&bitNumber=2",
+ "compressed=false&bitNumber=3",
+ "compressed=true&bitNumber=2",
+ "compressed=true&bitNumber=3"];
var closeEvent;
-// bitNumber must be 2 or 3.
-function doTest(bitNumber)
+function doTest(curTestIndex)
{
- var url = "" + bitNumber;
+ var url = "" + compressedAndBitNumberParameters[curTestIndex];
var ws = new WebSocket(url);
- debug("Bit " + bitNumber + ": Test started.");
+ debug("Case " + compressedAndBitNumberParameters[curTestIndex] + ": Test started.");
ws._onopen_ = function()
{
@@ -39,14 +44,14 @@
debug("onclose() was called.");
closeEvent = event;
shouldBeFalse("closeEvent.wasClean");
- if (bitNumber === 3)
+ if (curTestIndex === compressedAndBitNumberParameters.length - 1)
finishJSTest();
else
- doTest(bitNumber + 1);
+ doTest(curTestIndex + 1);
};
}
-doTest(2);
+doTest(0);
</script>
<script src=""
Modified: trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits_wsh.py (112487 => 112488)
--- trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits_wsh.py 2012-03-29 01:29:30 UTC (rev 112487)
+++ trunk/LayoutTests/http/tests/websocket/tests/hybi/reserved-bits_wsh.py 2012-03-29 01:32:28 UTC (rev 112488)
@@ -3,17 +3,22 @@
from mod_pywebsocket import stream
+bit = 0
+
def web_socket_do_extra_handshake(request):
- pass
-
-
-def web_socket_transfer_data(request):
- match = re.search(r'\?bit=(\d+)$', request.ws_resource)
+ match = re.search(r'\?compressed=(true|false)&bitNumber=(\d)$', request.ws_resource)
if match is None:
msgutil.send_message(request, 'FAIL: Query value is incorrect or missing')
return
+
+ global bit
+ compressed = match.group(1)
+ bit = int(match.group(2))
+ if compressed == "false":
+ request.ws_extension_processors = [] # using no extension response
- bit = int(match.group(1))
+
+def web_socket_transfer_data(request):
message = "This message should be ignored."
if bit == 1:
frame = stream.create_header(common.OPCODE_TEXT, len(message), 1, 1, 0, 0, 0) + message
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes