47 lines
1.0 KiB
JavaScript
47 lines
1.0 KiB
JavaScript
var util = require('util');
|
|
var events = require('events');
|
|
|
|
/**
|
|
* Suspends the test for the given time in milliseconds. If the milliseconds argument is missing it will suspend the test indefinitely
|
|
*
|
|
* ```
|
|
* this.demoTest = function (browser) {
|
|
* browser.pause(1000);
|
|
* // or suspend indefinitely
|
|
* browser.pause();
|
|
* };
|
|
* ```
|
|
*
|
|
* @method pause
|
|
* @param {number} ms The number of milliseconds to wait.
|
|
* @param {function} [callback] Optional callback function to be called when the command finishes.
|
|
* @api commands
|
|
*/
|
|
|
|
function Pause() {
|
|
events.EventEmitter.call(this);
|
|
}
|
|
|
|
util.inherits(Pause, events.EventEmitter);
|
|
|
|
Pause.prototype.command = function(ms, cb) {
|
|
var self = this;
|
|
// If we don't pass the milliseconds, the client will
|
|
// be suspended indefinitely
|
|
if (!ms) {
|
|
return this;
|
|
}
|
|
setTimeout(function() {
|
|
// if we have a callback, call it right before the complete event
|
|
if (cb) {
|
|
cb.call(self.client.api);
|
|
}
|
|
|
|
self.emit('complete');
|
|
}, ms);
|
|
|
|
return this;
|
|
};
|
|
|
|
module.exports = Pause;
|