tor-browser

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

alertAssert.sub.js (1379B)


      1 // note, this template substitution is XSS, but no way to avoid it in this framework
      2 var expected_alerts = {{GET[alerts]}};
      3 var timeout= "{{GET[timeout]}}";
      4 if (timeout == "") {
      5  timeout = 2;
      6 }
      7 
      8 if(expected_alerts.length == 0) {
      9  function alert_assert(msg) {
     10   test(function () { assert_unreached(msg) });
     11 }
     12 } else {
     13 var t_alert = async_test('Expecting alerts: {{GET[alerts]}}');
     14 step_timeout(function() {
     15   if(t_alert.phase != t_alert.phases.COMPLETE) {
     16     t_alert.step(function() { assert_unreached('Alert timeout, expected alerts ' + expected_alerts  + ' not fired.') });
     17     t_alert.done();
     18    }
     19 }, timeout * 1000);
     20 var alert_assert = function (msg) {
     21     t_alert.step(function () {
     22         if(msg && msg instanceof Error) {
     23             msg = msg.message;
     24         }
     25         if (msg && msg.match(/^FAIL/i)) {
     26             assert_unreached(msg);
     27             t_alert.done();
     28         }
     29         for (var i = 0; i < expected_alerts.length; i++) {
     30             if (expected_alerts[i] == msg) {
     31                 assert_equals(expected_alerts[i], msg);
     32                 expected_alerts.splice(i, 1);
     33                 if (expected_alerts.length == 0) {
     34                     t_alert.done();
     35                 }
     36                 return;
     37             }
     38         }
     39         assert_unreached('unexpected alert: ' + msg);
     40         t_log.done();
     41     });
     42 }.bind(this);
     43 }