Code coverage report for hodman/lib/driverAdapter/cabbieAdapter.js

Statements: 33.33% (4 / 12)      Branches: 100% (0 / 0)      Functions: 0% (0 / 9)      Lines: 33.33% (4 / 12)      Ignored: none     

All files » hodman/lib/driverAdapter/ » cabbieAdapter.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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124      1   1           1                                                                                                                                                                                                                             1  
// Copyright 2014, Yahoo! Inc.
// Copyrights licensed under the Mit License. See the accompanying LICENSE file for terms.
 
var sleep = require('teddybear');
 
var DriverAdapter = require('./driverAdapter');
 
/**
 * @class CabbieAdapter
 * @extends DriverAdapter
 */
var CabbieAdapter = DriverAdapter.extend(
 
	{
		/**
		 * Initializes the driver-adapter
		 *
		 * @method initialize
		 */
		initialize: function () {
			// Nothing by default
		},
 
 
		/**
		 * Get the driver
		 *
		 * @method getDriver
		 * @return {Browser}
		 */
		getDriver: function () {
			return this.driver;
		},
 
 
		/**
		 * Gets the current url of the session window
		 *
		 * @method getCurrentUrl
		 * @return {string}
		 */
		getCurrentUrl: function () {
			return this.getPageContext().navigator().getUrl();
		},
 
		/**
		 * Gets the current page context
		 *
		 * @method getPageContext
		 * @return {Element}
		 */
		getPageContext: function () {
			return this.getDriver().browser().activeWindow();
		},
 
		/**
		 * Navigates to the supplied url
		 *
		 * @method navigateTo
		 * @param {string} url
		 */
		navigateTo: function (url) {
			return this.getPageContext().navigator().navigateTo(url);
		},
 
		/**
		 * Number of milliseconds to wait before moving on
		 *
		 * @method sleep
		 * @param {int} waitInMs
		 */
		sleep: function (waitInMs) {
			return sleep(waitInMs);
		},
 
		/**
		 * Takes a screenshot of the current session window
		 *
		 * @method takeScreenshot
		 * @return {Buffer}
		 */
		takeScreenshot: function () {
			return this.getPageContext().takeScreenshot();
		},
 
 
		/**
		 * Gets the first element that applies to the supplied selector with the selector-type
		 *
		 * @method getElement
		 * @param {object} context
		 * @param {string} selector
		 * @param {string} [selectorType='css selector']
		 * @return {Element}
		 */
		getElement: function (context, selector, selectorType) {
			return context.getElement(selector, selectorType);
		},
 
		/**
		 * Gets all elements that apply to the supplied selector with the selector-type
		 *
		 * @method getElements
		 * @param {object} context
		 * @param {string} selector
		 * @param {string} [selectorType='css selector']
		 * @return {Element[]}
		 */
		getElements: function (context, selector, selectorType) {
			return context.getElements(selector, selectorType);
		}
	},
 
	{
		/**
		 * @property TYPE
		 * @type {string}
		 * @static
		 */
		TYPE: 'CabbieAdapter'
	});
 
module.exports = CabbieAdapter;