<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>EventSource: U+0000 in id field</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 source = new EventSource("resources/last-event-id.py?idvalue=%00%00"),
            seenhello = false
        source.onmessage = function(e) {
          test.step(function() {
            if(e.data == "hello" && !seenhello) {
              seenhello = true
              assert_equals(e.lastEventId, "")
            } else if(seenhello) {
              assert_equals(e.data, "hello")
              assert_equals(e.lastEventId, "")
              source.close()
              test.done()
            } else
              assert_unreached()
          })
        }
      })
    </script>
  </body>
</html>
