| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <!doctype html>
- <html>
- <head>
- <style>
- <meta name="google" content="notranslate" />
- body {
- background: white;
- color: black;
- }
- .test p {
- margin: 1px;
- }
- .test {
- font-family: monospace;
- white-space: pre;
- }
- .err {
- background: red;
- color: white;
- }
- .passed {
- background: green;
- color: white;
- }
- </style>
- </head>
- <body>
- <h1></h1>
- <section class="test" id="test-res"></section>
- <script>
- var performance;
- if (typeof performance !== 'object') {
- performance = {
- mark: function(s) { this[s] = new Date() },
- measure: function(_t, s1, s2) { this.t = this[s2] - this[s1] },
- getEntriesByName: function() { return [ { duration: this.t } ] }
- };
- }
- var Module = { preRun: function() { performance.mark('bench_start') } };
- function runTest(tname) {
- var xhr, expected, hn, idx = 0, passed = true;
- function outputReceived(e) {
- var found = e.data;
- var p = document.createElement('p');
- if (found !== expected[idx++]) {
- p.className = 'err';
- passed = false;
- }
- p.appendChild(document.createTextNode(found));
- document.getElementById('test-res').appendChild(p);
- if (idx >= expected.length) {
- if (passed) {
- performance.mark('bench_end')
- performance.measure('bench', 'bench_start', 'bench_end');
- var duration = Math.round(performance.getEntriesByName('bench')[0].duration);
- hn.appendChild(document.createTextNode(' - PASSED (time: ' + duration + ' ms)'));
- hn.className = 'passed';
- } else {
- hn.appendChild(document.createTextNode(' - FAILED'));
- hn.className = 'err';
- }
- }
- }
-
- hn = document.getElementsByTagName('h1')[0];
- hn.appendChild(document.createTextNode('Test: ' + tname));
- try {
- xhr = new ActiveXObject('Microsoft.XMLHTTP');
- } catch (e) {
- xhr = new XMLHttpRequest();
- }
- xhr.open('GET', tname + '.exp');
- xhr.onreadystatechange = function() {
- if (xhr.readyState != 4 ||
- (xhr.status != 200 && xhr.status != 302 && xhr.status != 0)) {
- return;
- }
- expected = xhr.responseText.split('\n');
- if (expected.length > 0 && expected[expected.length - 1] === '') {
- expected.pop();
- }
- expected.push('--- SUCCESS ---');
- window.addEventListener('test-output', outputReceived, false);
- var s = document.getElementsByTagName('script')[0];
- var st = document.createElement('script');
- st.src = tname + '.js';
- s.parentNode.insertBefore(st, s);
- }
- xhr.send(null);
- }
- runTest('{{tname}}');
- </script>
- </body>
- </html>
|