fixed #2400 - autoAcceptAlerts. Added tests

This commit is contained in:
jonahss
2014-04-29 15:12:41 -07:00
parent 2de3248e86
commit 8fbb75d644
2 changed files with 97 additions and 2 deletions

View File

@@ -377,8 +377,8 @@ IOS.prototype.setInitialOrientation = function (cb) {
IOS.prototype.setBootstrapConfig = function (cb) {
logger.info("Setting bootstrap config keys/values");
var pre = "setBootstrapConfig: ";
var cmd = pre + "autoAcceptAlerts=" + JSON.stringify(!!this.args.autoAcceptAlerts);
var autoAcceptAlerts = !(!this.args.autoAcceptAlerts || this.args.autoAcceptAlerts === 'false');
var cmd = "setBootstrapConfig: autoAcceptAlerts=" + autoAcceptAlerts;
this.proxy(cmd, function (err) {
cb(err); // discard res
});

View File

@@ -0,0 +1,95 @@
"use strict";
var setup = require("../../common/setup-base"),
desired = require('./desired'),
_ = require('underscore');
describe('autoAcceptAlerts cap = true', function () {
var self = this;
var driver;
var caps = _.clone(desired);
caps.autoAcceptAlerts = true;
setup(self, caps).then(function(d) { driver = d; });
it('auto-accepts alerts', function(done){
driver.elementsByClassName('UIAButton')
.then(function (buttons) { return buttons[3].click(); })
.sleep(2000)
.alertText()
.should.be.rejectedWith(/status: 27/)
.nodeify(done);
});
});
describe('autoAcceptAlerts cap = false', function () {
var self = this;
var driver;
var caps = _.clone(desired);
caps.autoAcceptAlerts = false;
setup(self, caps).then(function(d) { driver = d; });
it('does not auto-accept alerts', function(done){
driver.elementsByClassName('UIAButton')
.then(function (buttons) { return buttons[3].click(); })
.sleep(2000)
.alertText()
.should.eventually.exist
.nodeify(done);
});
});
describe('autoAcceptAlerts cap = "true"', function () {
var self = this;
var driver;
var caps = _.clone(desired);
caps.autoAcceptAlerts = 'true';
setup(self, caps).then(function(d) { driver = d; });
it('auto-accepts alerts', function(done){
driver.elementsByClassName('UIAButton')
.then(function (buttons) { return buttons[3].click(); })
.sleep(2000)
.alertText()
.should.be.rejectedWith(/status: 27/)
.nodeify(done);
});
});
describe('autoAcceptAlerts cap = "false"', function () {
var self = this;
var driver;
var caps = _.clone(desired);
caps.autoAcceptAlerts = 'false';
setup(self, caps).then(function(d) { driver = d; });
it('does not auto-accept alerts', function(done){
driver.elementsByClassName('UIAButton')
.then(function (buttons) { return buttons[3].click(); })
.sleep(2000)
.alertText()
.should.eventually.exist
.nodeify(done);
});
});
describe('autoAcceptAlerts cap = ""', function () {
var self = this;
var driver;
var caps = _.clone(desired);
caps.autoAcceptAlerts = "";
setup(self, caps).then(function(d) { driver = d; });
it('does not auto-accept alerts', function(done){
driver.elementsByClassName('UIAButton')
.then(function (buttons) { return buttons[3].click(); })
.sleep(2000)
.alertText()
.should.eventually.exist
.nodeify(done);
});
});