- add sources.
[platform/framework/web/crosswalk.git] / src / native_client_sdk / src / examples / api / core / test.js
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 function addTests() {
6   function getNaClTimeMs() {
7     return parseFloat(document.getElementById('NaCl').textContent);
8   }
9
10   function getRoundTimeMs() {
11     return parseFloat(document.getElementById('Round').textContent);
12   }
13
14   function getTotalTimeMs() {
15     return parseFloat(document.getElementById('Total').textContent);
16   }
17
18   function delayTest(test, delayMs) {
19     test.log('Setting delay to ' + delayMs + 'ms');
20     document.getElementById('delay').value = delayMs;
21
22     test.log('Clicking start.');
23     var startEl = document.getElementById('start');
24     startEl.dispatchEvent(new CustomEvent('click'));
25
26     test.log('Waiting 1 second for test to finish.');
27     var intervalId = window.setInterval(function() {
28       if (itrCount !== itrMax) {
29         test.log('Not finished, waiting another second.');
30         return;
31       }
32
33       window.clearInterval(intervalId);
34       test.log('NaCl time: ' + getNaClTimeMs().toFixed(2) + 'ms');
35       test.log('Roundtrip time: ' + getRoundTimeMs().toFixed(2) + 'ms');
36       test.log('Total time: ' + getTotalTimeMs().toFixed(2) + 'ms');
37       test.log('Finished.');
38       test.pass();
39     }, 1000);
40   }
41
42   common.tester.addAsyncTest('delay_0', function(test) {
43     var delayMs = 0;
44     delayTest(test, delayMs);
45   });
46
47   common.tester.addAsyncTest('delay_3', function(test) {
48     var delayMs = 3;
49     delayTest(test, delayMs);
50   });
51 }