mirror of
https://github.com/appium/appium.git
synced 2026-01-25 03:38:52 -06:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
"use strict";
|
|
var _ = require('underscore')
|
|
, logger = require('./logger.js').get('appium')
|
|
, warnDeprecated = require('../helpers.js').logDeprecationWarning;
|
|
|
|
var capsConversion = {
|
|
'launch': 'autoLaunch'
|
|
};
|
|
|
|
var okObjects = [
|
|
'proxy',
|
|
'launchTimeout'
|
|
];
|
|
|
|
var Capabilities = function (capabilities) {
|
|
this.warnings = {};
|
|
this.setDesired(capabilities);
|
|
|
|
_.each(this.desired, function (value, cap) {
|
|
if (_.contains(_.keys(capsConversion), cap)) {
|
|
warnDeprecated('capability', cap, capsConversion[cap]);
|
|
}
|
|
this[cap] = value;
|
|
}, this);
|
|
};
|
|
|
|
Capabilities.prototype.setDesired = function (caps) {
|
|
_.each(caps, function (value, cap) {
|
|
if (!_.contains(okObjects, cap) &&
|
|
typeof value === "object" &&
|
|
value !== null) {
|
|
logger.warn("Converting cap " + cap + " to string, since it was an " +
|
|
"object. This might be a user error. Original value was: " +
|
|
JSON.stringify(value));
|
|
caps[cap] = JSON.stringify(value);
|
|
}
|
|
});
|
|
this.desired = caps;
|
|
};
|
|
|
|
Capabilities.capabilityConversions = capsConversion;
|
|
|
|
module.exports = Capabilities;
|