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