bower_components/qunit/qunit/qunit.js
function internalStart(test) {

  	// If semaphore is non-numeric, throw error
  	if (isNaN(test.semaphore)) {
  		test.semaphore = 0;

  		pushFailure("Invalid value on test.semaphore", sourceFromStacktrace(2));
  		return;
  	}

  	// Don't start until equal number of stop-calls
  	if (test.semaphore > 0) {
  		return;
  	}

  	// Throw an Error if start is called more often than stop
  	if (test.semaphore < 0) {
  		test.semaphore = 0;

  		pushFailure("Tried to restart test while already started (test's semaphore was 0 already)", sourceFromStacktrace(2));
  		return;
  	}

  	// Add a slight delay to allow more assertions etc.
  	if (defined.setTimeout) {
  		if (config.timeout) {
  			clearTimeout(config.timeout);
  		}
  		config.timeout = setTimeout(function () {
  			if (test.semaphore > 0) {
  				return;
  			}

  			if (config.timeout) {
  				clearTimeout(config.timeout);
  			}

  			begin();
  		}, 13);
  	} else {
  		begin();
  	}
  }
function internalStart(test) {

  	// If semaphore is non-numeric, throw error
  	if (isNaN(test.semaphore)) {
  		test.semaphore = 0;

  		pushFailure("Invalid value on test.semaphore", sourceFromStacktrace(2));
  		return;
  	}

  	// Don't start until equal number of stop-calls
  	if (test.semaphore > 0) {
  		return;
  	}

  	// Throw an Error if start is called more often than stop
  	if (test.semaphore < 0) {
  		test.semaphore = 0;

  		pushFailure("Tried to restart test while already started (test's semaphore was 0 already)", sourceFromStacktrace(2));
  		return;
  	}

  	// Add a slight delay to allow more assertions etc.
  	if (defined.setTimeout) {
  		if (config.timeout) {
  			clearTimeout(config.timeout);
  		}
  		config.timeout = setTimeout(function () {
  			if (test.semaphore > 0) {
  				return;
  			}

  			if (config.timeout) {
  				clearTimeout(config.timeout);
  			}

  			begin();
  		}, 13);
  	} else {
  		begin();
  	}
  }
function internalStart ( test ) { // If semaphore is non-numeric, throw error if ( isNaN ( test . semaphore ) ) { test . semaphore = 0 ; pushFailure ( "Invalid value on test.semaphore" , sourceFromStacktrace ( 2 ) ) ; return ; } // Don't start until equal number of stop-calls if ( test . semaphore > 0 ) { return ; } // Throw an Error if start is called more often than stop if ( test . semaphore < 0 ) { test . semaphore = 0 ; pushFailure ( "Tried to restart test while already started (test's semaphore was 0 already)" , sourceFromStacktrace ( 2 ) ) ; return ; } // Add a slight delay to allow more assertions etc. if ( defined . setTimeout ) { if ( config . timeout ) { clearTimeout ( config . timeout ) ; } config . timeout = setTimeout ( function ( ) { if ( test . semaphore > 0 ) { return ; } if ( config . timeout ) { clearTimeout ( config . timeout ) ; } begin ( ) ; } , 13 ) ; } else { begin ( ) ; } }
Release a processing hold, scheduling a resumption attempt if no holds remain.
Release a processing hold scheduling a resumption attempt if no holds remain .