rectest/scripts/main.js

79 lines
1.8 KiB
JavaScript

window.Class = easejs.Class;
window.Interface = easejs.Interface;
// namespace
window.rectest = { cases: {} };
$( document ).ready( function()
{
// display js-dependent content
$( '.hasjs' ).removeClass( 'hasjs' );
listCases( rectest.cases, $( '#case' ) );
displayNotice( 'Please configure the test using the form below.' );
$( '#continue' ).click( function()
{
var runner = rectest.TestRunner( jQuery, rectest.TestRun );
var options = {},
values = [
'case', 'set', 'interval', 'blank', 'samples', 'delay'
],
i = values.length;
while ( i-- )
{
var id = values[ i ];
options[ id ] = $( '#' + id ).val();
}
var testcase = rectest.cases[ options['case'] ].testCase();
$( this ).parent().hide();
hideNotice();
$( 'body' ).addClass( 'testing' );
runner.run( testcase, options, function( history )
{
$( 'body' ).removeClass( 'testing' );
console.log( history );
console.log( 'done' );
} );
} );
function displayNotice( str )
{
$( '.notice' )
.text( str )
.slideDown( 250, function()
{
$( this ).addClass( 'active' );
} );
}
function hideNotice()
{
$( '.notice' ).slideUp( 250, function()
{
$( this ).removeClass( 'active' );
} );
}
function listCases( presets, $select )
{
for ( var preset in presets )
{
var data = presets[ preset ];
$select.append( $( '<option>' )
.attr( 'value', preset )
.text( data.title )
);
}
}
} );