<!doctype html>
<title>WebSockets: Send/Receive ArrayBuffer, size less than network array buffer</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');
  var data = "";
  var datasize = 10;
  ws.onopen = t.step_func(function(e) {
   ws.binaryType = "arraybuffer";
   data = new ArrayBuffer(datasize);
   ws.send(data);
  });
  ws.onmessage = t.step_func(function(e) {
    assert_equals(e.data.byteLength, datasize);
    t.done();
  });
 });
</script>
