<!DOCTYPE html>
<html>
  <head>
    <title>EventSource: Double BOM</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id="log"></div>
    <script>
      var test = async_test(),
          hasbeenone = false,
          hasbeentwo = false
      test.step(function() {
        var source = new EventSource("resources/message.py?message=%EF%BB%BF%EF%BB%BFdata%3A1%0A%0Adata%3A2%0A%0Adata%3A3")
        source.addEventListener("message", listener, false)
      })
      function listener(e) {
        test.step(function() {
          if(e.data == "1")
            hasbeenone = true
          if(e.data == "2")
            hasbeentwo = true
          if(e.data == "3") {
            assert_false(hasbeenone)
            assert_true(hasbeentwo)
            this.close()
            test.done()
          }
        }, this)
      }
    </script>
  </body>
</html>

