| <!doctype html> |
| <title>WebSockets: send() with unpaired surrogate when readyState is OPEN</title> |
| <script src=/resources/testharness.js></script> |
| <script src=/resources/testharnessreport.js></script> |
| <script src=../../../constants.js?pipe=sub></script> |
| <div id="log"></div> |
| <script> |
| async_test(function(t) { |
| var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo'); |
| ws.onopen = t.step_func(function(e) { |
| // lone low surrogate, lone high surrogate + surrogates in wrong order. |
| ws.send('a\uDC00xb\uD800xc\uDC00\uD800x'); |
| }) |
| ws.onmessage = t.step_func(function(e) { |
| assert_equals(e.data, 'a\uFFFDxb\uFFFDxc\uFFFD\uFFFDx'); |
| ws.onclose = t.step_func(function(e) { |
| ws.onclose = t.step_func(function() {assert_unreached()}); |
| setTimeout(function() {t.done();}, 50); |
| }); |
| ws.close(); |
| }) |
| }); |
| </script> |