// META: script=constants.sub.js // META: variant=?default // META: variant=?wss // META: variant=?wpt_flags=h2 var test = async_test("Send unpaired surrogates on a WebSocket - Connection should be closed"); var data = "\uD807"; var replacementChar = "\uFFFD"; var wsocket = CreateWebSocket(false, false); var isOpenCalled = false; var isMessageCalled = false; wsocket.addEventListener('open', test.step_func(function(evt) { wsocket.send(data); isOpenCalled = true; }), true); wsocket.addEventListener('message', test.step_func(function(evt) { isMessageCalled = true; assert_equals(evt.data, replacementChar); wsocket.close(); }), true); wsocket.addEventListener('close', test.step_func(function(evt) { assert_true(isOpenCalled, "WebSocket connection should be open"); assert_true(isMessageCalled, "message should be received"); assert_equals(evt.wasClean, true, "wasClean should be true"); test.done(); }), true);