tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

eventsource-reconnect.window.js (1443B)


      1 // META: title=EventSource: reconnection
      2 
      3      function doReconn(url, title) {
      4        var test = async_test(document.title + " " + title)
      5        test.step(function() {
      6          var source = new EventSource(url)
      7          source.onmessage = test.step_func(function(e) {
      8            assert_equals(e.data, "data")
      9            source.close()
     10            test.done()
     11          })
     12        })
     13      }
     14 
     15      doReconn("resources/status-reconnect.py?status=200",
     16        "200")
     17 
     18 
     19      var t = async_test(document.title + ", test reconnection events");
     20      t.step(function() {
     21        var opened = false, reconnected = false,
     22            source = new EventSource("resources/status-reconnect.py?status=200&ok_first&id=2");
     23 
     24        source.onerror = t.step_func(function(e) {
     25          assert_equals(e.type, 'error');
     26          assert_equals(source.readyState, source.CONNECTING, "readyState");
     27          assert_true(opened, "connection is opened earlier");
     28 
     29          reconnected = true;
     30        });
     31 
     32        source.onmessage = t.step_func(function(e) {
     33          if (!opened) {
     34            opened = true;
     35            assert_false(reconnected, "have reconnected before first message");
     36            assert_equals(e.data, "ok");
     37          }
     38          else {
     39            assert_true(reconnected, "Got reconnection event");
     40            assert_equals(e.data, "data");
     41            source.close()
     42            t.done()
     43          }
     44        });
     45      });