Code coverage report for lib/environment.js

Statements: 60.53% (23 / 38)      Branches: 33.33% (4 / 12)      Functions: 50% (5 / 10)      Lines: 60.53% (23 / 38)      Ignored: none     

All files » lib/ » environment.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 901 1   1   1   1 1 1 88     88   1     12 12 88   12                       1 1 1   1                                                                             1 1 1 1     1            
(function() {
  var $, Driver;
 
  Driver = require('selenium-webdriver');
 
  $ = Driver.promise;
 
  module.exports = function() {
    var chai, origDescriptor;
    origDescriptor = function(source, prop) {
      Iif (!source) {
        return nil;
      }
      return Object.getOwnPropertyDescriptor(source, prop) || origDescriptor(Object.getPrototypeOf(source), prop);
    };
    Object.defineProperties(Object.prototype, {
      copyProperties: {
        value: function(source) {
          var prop;
          for (prop in source) {
            Object.defineProperty(this, prop, origDescriptor(source, prop));
          }
          return this;
        }
      },
      includes: {
        value: function(mixin) {
          this.copyProperties(this, mixin);
          this.copyProperties(this.prototype, mixin.prototype);
          return this;
        }
      },
      getter: {
        value: function(object, property, getter) {
          var _ref;
          Eif (!getter) {
            _ref = [this.prototype, object, property], object = _ref[0], property = _ref[1], getter = _ref[2];
          }
          return Object.defineProperty(object, property, {
            configurable: true,
            enumerable: true,
            get: getter
          });
        }
      },
      setter: {
        value: function(object, property, setter) {
          var getter, _ref;
          if (!setter) {
            _ref = [this.prototype, object, property], object = _ref[0], property = _ref[1], getter = _ref[2];
          }
          return Object.defineProperty(object, property, {
            configurable: true,
            enumerable: true,
            set: getter
          });
        }
      },
      accessor: {
        value: function(object, property) {
          var _ref;
          if (!property) {
            _ref = [this.prototype, object], object = _ref[0], property = _ref[1];
          }
          return Object.defineProperty(object, property, {
            configurable: true,
            enumerable: true,
            get: function() {
              return this["_" + property];
            },
            set: function(v) {
              return this["_" + property] = v;
            }
          });
        }
      }
    });
    chai = require('chai');
    chai.use(require('chai-as-promised'));
    chai.should();
    Object.defineProperty($.Promise.prototype, 'should', {
      get: Object.prototype.__lookupGetter__('should')
    });
    Iif (process.env.CHROMEDRIVER_PORT) {
      return require('../node_modules/selenium-webdriver/chrome').ServiceBuilder.prototype.port_ = process.env.CHROMEDRIVER_PORT;
    }
  };
 
}).call(this);