1424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)// found in the LICENSE file.
4424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
5424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)function addTests() {
6424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  function getNaClTimeMs() {
7424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    return parseFloat(document.getElementById('NaCl').textContent);
8424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  }
9424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
10424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  function getRoundTimeMs() {
11424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    return parseFloat(document.getElementById('Round').textContent);
12424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  }
13424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
14424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  function getTotalTimeMs() {
15424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    return parseFloat(document.getElementById('Total').textContent);
16424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  }
17424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
18424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  function delayTest(test, delayMs) {
19424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    test.log('Setting delay to ' + delayMs + 'ms');
20424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    document.getElementById('delay').value = delayMs;
21424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
22424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    test.log('Clicking start.');
23424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    var startEl = document.getElementById('start');
24424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    startEl.dispatchEvent(new CustomEvent('click'));
25424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
26424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    test.log('Waiting 1 second for test to finish.');
27424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    var intervalId = window.setInterval(function() {
28424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      if (itrCount !== itrMax) {
29424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)        test.log('Not finished, waiting another second.');
30424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)        return;
31424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      }
32424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
33424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      window.clearInterval(intervalId);
34424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      test.log('NaCl time: ' + getNaClTimeMs().toFixed(2) + 'ms');
35424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      test.log('Roundtrip time: ' + getRoundTimeMs().toFixed(2) + 'ms');
36424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      test.log('Total time: ' + getTotalTimeMs().toFixed(2) + 'ms');
37424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      test.log('Finished.');
38424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)      test.pass();
39424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    }, 1000);
40424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  }
41424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
42424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  common.tester.addAsyncTest('delay_0', function(test) {
43424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    var delayMs = 0;
44424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    delayTest(test, delayMs);
45424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  });
46424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)
47424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  common.tester.addAsyncTest('delay_3', function(test) {
48424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    var delayMs = 3;
49424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)    delayTest(test, delayMs);
50424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)  });
51424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)}
52