<!doctype html>
<title>WebSockets: setting event handlers to {handleEvent:function(){}}</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>
var events = ['onclose', 'onopen', 'onerror', 'onmessage'];
for (var i = 0; i < events.length; ++i) {
  test(function(t) {
    var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/empty-message');
    var obj = {handleEvent:this.unreached_func("handleEvent was called")};
    ws[events[i]] = obj;
    assert_equals(ws[events[i]], obj);
    ws.dispatchEvent(new Event(events[i].substr(2)));
  }, events[i]);
};
</script>
