controller.js
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var giTotalTestCount = 0;
var giActiveModule = 0;
var giModuleTests;
var giStartTime;
var giTest;
var gbStop = false;
var gtoTest;
function fnTestStart ( sTestInfo )
{
gaoTest[ giActiveModule ].iTests++;
document.getElementById('test_info').innerHTML +=
(giActiveModule+1)+'.'+(giModuleTests+1)+'. '+sTestInfo+'... ';
document.getElementById('test_number').innerHTML = giTotalTestCount+1;
giModuleTests++;
giTotalTestCount++;
/* Set a timer to catch stalled script */
gtoTest = setTimeout( function () {
fnMessage( '<span class="error">WARNING - test script stalled. Likely a JS error</span>' );
gbStop = true;
}, 3000 );
}
function fnTestResult ( bResult )
{
clearTimeout( gtoTest );
if ( bResult )
{
fnMessage( 'Passed' );
}
else
{
fnMessage( '<span class="error">FAILED</span>' );
gbStop = true;
fnEnd( false );
}
}
function fnUnitStart( iTest )
{
if ( !gbStop )
{
giModuleTests = 0;
window.parent.test_arena.location.href =
(iTest==0?"":"../")+'templates/'+gaoTest[iTest].sTemplate+'.php?scripts='+gaoTest[iTest].sTest;
giTest = iTest;
}
}
function fnStartMessage( sMessage )
{
fnMessage( '<br><b>'+gaoTest[giTest].sGroup+' - '+sMessage+'</b>' );
}
function fnMessage( sMessage )
{
var nInfo = document.getElementById('test_info');
nInfo.innerHTML += sMessage+'<br>';
nInfo.scrollTop = nInfo.scrollHeight;
}
function fnUnitComplete()
{
if ( giActiveModule < gaoTest.length - 1 )
{
fnUnitStart( ++giActiveModule );
}
else
{
fnEnd( true );
}
}
function fnEnd( bSuccess )
{
var iEndTime = new Date().getTime();
var sTime = '<br>This test run took '+parseInt((iEndTime-giStartTime)/1000, 10)+
' second(s) to complete.';
if ( bSuccess )
{
$('#test_running').html( 'Tests complete. '+giTotalTestCount+' tests were run.'+sTime );
}
else
{
$('#test_running').html( 'Unit tests failed at test '+giTotalTestCount+'.'+sTime );
}
}
$(document).ready( function () {
giStartTime = new Date().getTime();
fnUnitStart( giActiveModule );
} );