15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Copyright (c) 2012 The Chromium Authors. All rights reserved.
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file.
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) **/
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)window.onload = function() {
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var classes = {true: 'success', false: 'failure'};
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var status = document.querySelector('.status');
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var summary = document.querySelector('.summary');
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var execution = summary.querySelector('.execution');
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var count = execution.querySelector('.count');
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var duration = execution.querySelector('.duration');
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var results = summary.querySelector('.results');
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var passed = results.querySelector('.passed');
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var failed = results.querySelector('.failed');
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var browser = document.querySelector('.browser');
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var details = document.querySelector('.details ol');
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var start = Date.now();
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var run = window.runTests(false);
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var end = Date.now();
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var counts = {passed: 0, failed: 0};
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var tests = [];
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  var step;
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  for (var i = 0; i < run.tests.length; ++i) {
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tests[i] = document.createElement('li');
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tests[i].setAttribute('class', classes[run.tests[i].success]);
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tests[i].appendChild(document.createElement('p'));
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tests[i].children[0].textContent = run.tests[i].name;
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    tests[i].appendChild(document.createElement('ol'));
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    counts.passed += run.tests[i].success ? 1 : 0;
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    counts.failed += run.tests[i].success ? 0 : 1;
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    for (var j = 0; j < run.tests[i].steps.length; ++j) {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      step = document.createElement('li');
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      tests[i].children[1].appendChild(step);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      step.setAttribute('class', classes[run.tests[i].steps[j].success]);
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      step.appendChild(document.createElement('p'));
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      step.children[0].textContent = run.tests[i].steps[j].messages[0];
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      for (var k = 1; k < run.tests[i].steps[j].messages.length; ++k) {
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        step.appendChild(document.createElement('p'));
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        step.children[k].textContent = run.tests[i].steps[j].messages[k];
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        step.children[k].setAttribute('class', 'difference');
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    }
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  }
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  status.setAttribute('class', 'status ' + classes[run.success]);
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  count.textContent = run.tests.length;
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  duration.textContent = end - start;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  passed.textContent = counts.passed;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  passed.setAttribute('class', counts.passed ? 'passed' : 'passed none');
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  failed.textContent = counts.failed;
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  failed.setAttribute('class', counts.failed ? 'failed' : 'failed none');
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  browser.textContent = window.navigator.userAgent;
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  tests.forEach(function(test) { details.appendChild(test); });
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
56