UNPKG

@testim/testim-cli

Version:

Command line interface for running Testing on you CI

56 lines (47 loc) 4.33 kB
/** * * Get viewport size of the current browser window. * * <example> :getSource.js client .url('http://webdriver.io') .getViewportSize().then(function(size) { console.log(size); // outputs: {width: 1024, height: 768} }) .getViewportSize('width').then(function(size) { console.log(size); // outputs: 1024 }) .getViewportSize('height').then(function(size) { console.log(size); // outputs: 768 }); * </example> * * @param {String} property if "width" or "height" is set it returns only that property * @returns {Object} viewport width and height of the browser * @uses protocol/execute * @type window * */ 'use strict'; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); var _scriptsGetViewportSize = require('../scripts/getViewportSize'); var _scriptsGetViewportSize2 = _interopRequireDefault(_scriptsGetViewportSize); var getViewportSize = function getViewportSize(prop) { return this.execute(_scriptsGetViewportSize2['default']).then(function (res) { if (typeof prop === 'string' && prop.match(/(width|height)/)) { prop = 'screen' + prop.slice(0, 1).toUpperCase() + prop.slice(1); return res.value[prop]; } return { width: res.value.screenWidth || 0, height: res.value.screenHeight || 0 }; }); }; exports['default'] = getViewportSize; module.exports = exports['default']; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jb21tYW5kcy9nZXRWaWV3cG9ydFNpemUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0EwQmtDLDRCQUE0Qjs7OztBQUU5RCxJQUFJLGVBQWUsR0FBRyxTQUFsQixlQUFlLENBQWEsSUFBSSxFQUFFO0FBQ2xDLFdBQU8sSUFBSSxDQUFDLE9BQU8scUNBQXVCLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRyxFQUFLO0FBQ3JELFlBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtBQUMxRCxnQkFBSSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hFLG1CQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDekI7O0FBRUQsZUFBTztBQUNILGlCQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksQ0FBQztBQUNqQyxrQkFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUM7U0FDdEMsQ0FBQTtLQUNKLENBQUMsQ0FBQTtDQUNMLENBQUE7O3FCQUVjLGVBQWUiLCJmaWxlIjoiZ2V0Vmlld3BvcnRTaXplLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKlxuICogR2V0IHZpZXdwb3J0IHNpemUgb2YgdGhlIGN1cnJlbnQgYnJvd3NlciB3aW5kb3cuXG4gKlxuICogPGV4YW1wbGU+XG4gICAgOmdldFNvdXJjZS5qc1xuICAgIGNsaWVudFxuICAgICAgICAudXJsKCdodHRwOi8vd2ViZHJpdmVyLmlvJylcbiAgICAgICAgLmdldFZpZXdwb3J0U2l6ZSgpLnRoZW4oZnVuY3Rpb24oc2l6ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coc2l6ZSk7IC8vIG91dHB1dHM6IHt3aWR0aDogMTAyNCwgaGVpZ2h0OiA3Njh9XG4gICAgICAgIH0pXG4gICAgICAgIC5nZXRWaWV3cG9ydFNpemUoJ3dpZHRoJykudGhlbihmdW5jdGlvbihzaXplKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhzaXplKTsgLy8gb3V0cHV0czogMTAyNFxuICAgICAgICB9KVxuICAgICAgICAuZ2V0Vmlld3BvcnRTaXplKCdoZWlnaHQnKS50aGVuKGZ1bmN0aW9uKHNpemUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHNpemUpOyAvLyBvdXRwdXRzOiA3NjhcbiAgICAgICAgfSk7XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHByb3BlcnR5ICBpZiBcIndpZHRoXCIgb3IgXCJoZWlnaHRcIiBpcyBzZXQgaXQgcmV0dXJucyBvbmx5IHRoYXQgcHJvcGVydHlcbiAqIEByZXR1cm5zIHtPYmplY3R9ICB2aWV3cG9ydCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBicm93c2VyXG4gKiBAdXNlcyBwcm90b2NvbC9leGVjdXRlXG4gKiBAdHlwZSB3aW5kb3dcbiAqXG4gKi9cblxuaW1wb3J0IGdldFZpZXdwb3J0U2l6ZUhlbHBlciBmcm9tICcuLi9zY3JpcHRzL2dldFZpZXdwb3J0U2l6ZSdcblxubGV0IGdldFZpZXdwb3J0U2l6ZSA9IGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZShnZXRWaWV3cG9ydFNpemVIZWxwZXIpLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHByb3AgPT09ICdzdHJpbmcnICYmIHByb3AubWF0Y2goLyh3aWR0aHxoZWlnaHQpLykpIHtcbiAgICAgICAgICAgIHByb3AgPSAnc2NyZWVuJyArIHByb3Auc2xpY2UoMCwgMSkudG9VcHBlckNhc2UoKSArIHByb3Auc2xpY2UoMSlcbiAgICAgICAgICAgIHJldHVybiByZXMudmFsdWVbcHJvcF1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aDogcmVzLnZhbHVlLnNjcmVlbldpZHRoIHx8IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IHJlcy52YWx1ZS5zY3JlZW5IZWlnaHQgfHwgMFxuICAgICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Vmlld3BvcnRTaXplXG4iXX0=