<!doctype html>
<html>
  <head>
    <title>dedicated worker - EventSource: onopen (announcing the connection)</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
      var test = async_test()
      test.step(function() {
        var worker = new Worker('eventsource-onopen.js')
        worker.onmessage = function(e) {
          test.step(function() {
            assert_true(e.data[0], e.data[1])
            assert_equals(e.data[1], EventSource.OPEN, 'source.readyState')
            assert_false(e.data[2], "'data' in e")
            assert_false(e.data[3], 'e.bubbles')
            assert_false(e.data[4], 'e.calcelable')
          })
          test.done()
        }
      })
    </script>
  </body>
</html>