diff --git a/gulpfile.js b/gulpfile.js index 722ed9077..fcd9adac8 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -72,7 +72,7 @@ gulp.task('default',['prepublish']); gulp.task('types', function(done) { var folder = 'built'; - var files = ['ptor', 'browser', 'locators']; + var files = ['ptor', 'browser', 'locators', 'expectedConditions']; var outputFile = path.resolve(folder, 'index.d.ts'); var contents = ''; files.forEach(file => { diff --git a/lib/expectedConditions.ts b/lib/expectedConditions.ts index 734195eb5..1d90734bd 100644 --- a/lib/expectedConditions.ts +++ b/lib/expectedConditions.ts @@ -1,4 +1,5 @@ import {protractor} from './ptor'; +import {ElementFinder} from './element'; let webdriver = require('selenium-webdriver'); /* globals browser */ @@ -167,7 +168,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is clickable. */ - elementToBeClickable(elementFinder: any): Function { + elementToBeClickable(elementFinder: ElementFinder): Function { return this.and( this.visibilityOf(elementFinder), elementFinder.isEnabled.bind(elementFinder)); @@ -188,7 +189,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the text is present in the element. */ - textToBePresentInElement(elementFinder: any, text: string): Function { + textToBePresentInElement(elementFinder: ElementFinder, text: string): Function { var hasText = () => { return elementFinder.getText().then((actualText: string): boolean => { return actualText.indexOf(text) > -1; @@ -212,7 +213,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the text is present in the element's value. */ - textToBePresentInElementValue(elementFinder: any, text: string): Function { + textToBePresentInElementValue(elementFinder: ElementFinder, text: string): Function { var hasText = () => { return elementFinder.getAttribute('value').then( (actualText: string): boolean => { @@ -307,7 +308,7 @@ export class ExpectedConditions { (actualUrl: string): boolean => { return actualUrl === url; }); }; } - + /** * An expectation for checking that an element is present on the DOM * of a page. This does not necessarily mean that the element is visible. @@ -323,7 +324,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is present. */ - presenceOf(elementFinder: any): Function { + presenceOf(elementFinder: ElementFinder): Function { return elementFinder.isPresent.bind(elementFinder); }; @@ -341,7 +342,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is stale. */ - stalenessOf(elementFinder: any): Function { + stalenessOf(elementFinder: ElementFinder): Function { return this.not(this.presenceOf(elementFinder)); } @@ -361,7 +362,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is visible. */ - visibilityOf(elementFinder: any): Function { + visibilityOf(elementFinder: ElementFinder): Function { return this.and( this.presenceOf(elementFinder), elementFinder.isDisplayed.bind(elementFinder)); @@ -381,7 +382,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is invisible. */ - invisibilityOf(elementFinder: any): Function { + invisibilityOf(elementFinder: ElementFinder): Function { return this.not(this.visibilityOf(elementFinder)); } @@ -398,7 +399,7 @@ export class ExpectedConditions { * @return {!function} An expected condition that returns a promise * representing whether the element is selected. */ - elementToBeSelected(elementFinder: any): Function { + elementToBeSelected(elementFinder: ElementFinder): Function { return this.and( this.presenceOf(elementFinder), elementFinder.isSelected.bind(elementFinder));