code: function(test) {
        // Make a new row if needed
        if (!test._row) {
          var trow = jsl.$('test_row_template');
          if (!trow) return;
  
          test._row = trow.cloneNode(true);
          test._row.style.display = '';
          test._row.id = '';
          test._row.onclick = function() {JSLitmus._queueTest(test);};
          test._row.title = 'Run ' + test.name + ' test';
          trow.parentNode.appendChild(test._row);
          test._row.cells[0].innerHTML = test.name;
        }
  
        var cell = test._row.cells[1];
        var cns = [test.loopArg ? 'test_looping' : 'test_nonlooping'];
  
        if (test.error) {
          cns.push('test_error');
          cell.innerHTML =
          '<div class="error_head">' + test.error + '</div>' +
          '<ul class="error_body"><li>' +
            jsl.join(test.error, ': ', '</li><li>') +
            '</li></ul>';
        } else {
          if (test.running) {
            cns.push('test_running');
            cell.innerHTML = 'running';
          } else if (jsl.indexOf(JSLitmus._queue, test) >= 0) {
            cns.push('test_pending');
            cell.innerHTML = 'pending';
          } else if (test.count) {
            cns.push('test_done');
            var hz = test.getHz(jsl.$('test_normalize').checked);
            cell.innerHTML = hz != Infinity ? hz : '&infin;';
            cell.title = 'Looped ' + test.count + ' times in ' + test.time + ' seconds';
          } else {
            cell.innerHTML = 'ready';
          }
        }
        cell.className = cns.join(' ');
      }
docs: (Re)render the results for a specific test