nl_tokens: start selenium server or sauce tunnel ( if not already started )
pl_tokens: function ( callback ) { if ( tunnel ) { if ( isSauceTunnelRunning ) { return callback ( null , true ) ; } grunt . log . debug ( 'start sauce tunnel' ) ; /**
                       * start sauce tunnel
                       */ tunnel . start ( function ( hasTunnelStarted ) { // output here means if tunnel was created successfully if ( hasTunnelStarted === false ) { callback ( new Error ( 'Sauce-Tunnel couldn\'t created successfully' ) ) ; } grunt . log . debug ( 'tunnel created successfully' ) ; isSauceTunnelRunning = true ; callback ( null ) ; } ) ; } else if ( ! server && ! isSeleniumServerRunning && ! options . nospawn ) { grunt . log . debug ( 'start selenium standalone server' ) ; /**
                       * starts selenium standalone server if its not running
                       */ server = selenium . start ( options . seleniumOptions , function ( err , child ) { if ( err ) { return callback ( err ) ; } grunt . log . debug ( 'selenium successfully started' ) ; seleniumServer = child ; isSeleniumServerRunning = true ; callback ( null , true ) ; } ) ; } else { grunt . log . <mask> ( 'standalone server or sauce tunnel is running' ) ; callback ( null , true ) ; } }