tor-browser

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

logTest.sub.js (1342B)


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