diff --git a/casperjs/casperjs.d.ts b/casperjs/casperjs.d.ts
index 4be7b40c4..de43c548b 100644
--- a/casperjs/casperjs.d.ts
+++ b/casperjs/casperjs.d.ts
@@ -5,39 +5,50 @@
///
-interface Casper {
+interface CasperModule {
+ create(options: CasperOptions): Casper;
+ selectXPath(expression: string): Object
+}
- constructor (options: CasperOptions);
+interface EventEmitter {
+ removeAllFilters(filter: string): Casper;
+ setFilter(filter: string, cb: Function): boolean;
+}
+
+interface Casper extends EventEmitter {
+ test: Tester;
+
+ constructor (options: CasperOptions): Casper;
// Properties
__utils__: ClientUtils;
// Methods
- back();
- base64encode(url: string, method?: string, data?: any);
- click(selector: string);
- clickLabel(label: string, tag?: string);
- capture(targetFilePath: string, clipRect: ClipRect);
- captureBase64(format: string);
- captureBase64(format: string, area: string);
- captureBase64(format: string, area: ClipRect);
- captureBase64(format: string, area: any);
- captureSelector(targetFile: string, selector: string);
- clear();
- debugHTML(selector?: string, outer?: boolean);
- debugPage();
- die(message: string, status?: number);
- download(url: string, target?: string, method?: string, data?: any);
- each(array: Array, fn: (self, link) => void);
- echo(message: string, style?: string);
- evaluate(fn: Function, ...args: any[]);
- evaluateOrDie(fn: Function, message?: string);
- exit(status?: number);
- exists(selector: string);
- fetchText(selector: string);
- forward();
- log(message: string, level?: string, space?: string);
- fill(selector: string, values: any, submit?: boolean);
+ back(): Casper;
+ base64encode(url: string, method?: string, data?: any): string;
+ click(selector: string): boolean;
+ clickLabel(label: string, tag?: string): boolean;
+ capture(targetFilePath: string, clipRect: ClipRect): Casper;
+ captureBase64(format: string): string;
+ captureBase64(format: string, area: string): string;
+ captureBase64(format: string, area: ClipRect): string;
+ captureBase64(format: string, area: any): string;
+ captureSelector(targetFile: string, selector: string): Casper;
+ clear(): Casper;
+ debugHTML(selector?: string, outer?: boolean): Casper;
+ debugPage(): Casper;
+ die(message: string, status?: number): Casper;
+ download(url: string, target?: string, method?: string, data?: any): Casper;
+ each(array: T[], fn: (self: Casper, item: T, index: number) => void): Casper;
+ echo(message: string, style?: string): Casper;
+ evaluate(fn: () => T, ...args: any[]): T
+ evaluateOrDie(fn: () => any, message?: string, status?: number): Casper;
+ exit(status?: number): Casper;
+ exists(selector: string): boolean;
+ fetchText(selector: string): string;
+ forward(): Casper;
+ log(message: string, level?: string, space?: string): Casper;
+ fill(selector: string, values: any, submit?: boolean): void;
getCurrentUrl(): string;
getElementAttribute(selector: string, attribute: string): string;
getElementBounds(selector: string): ElementBounds;
@@ -48,44 +59,44 @@ interface Casper {
getHTML(selector?: string, outer?: boolean): string;
getPageContent(): string;
getTitle(): string;
- mouseEvent(type: string, selector: string);
+ mouseEvent(type: string, selector: string): boolean;
open(location: string, settings: OpenSettings): Casper;
- reload(then?: (response: HttpResponse) => void);
- repeat(times: number, then: Function);
- resourceExists(test: Function);
- resourceExists(test: string);
- run(onComplete: Function, time?: number);
- sendKeys(selector: string, keys: string, options?: any);
- setHttpAuth(username: string, password: string);
+ reload(then?: (response: HttpResponse) => void): Casper;
+ repeat(times: number, then: Function): Casper;
+ resourceExists(test: Function): boolean;
+ resourceExists(test: string): boolean;
+ run(onComplete: Function, time?: number): Casper;
+ sendKeys(selector: string, keys: string, options?: any): Casper;
+ setHttpAuth(username: string, password: string): Casper;
start(url?: string, then?: (response: HttpResponse) => void): Casper;
status(asString: boolean): any;
- then(fn: (self?: Casper) => void);
- thenClick(selector: string);
- thenEvaluate(fn: Function, ...args: any[]);
- thenOpen(location: string, then?: (response: HttpResponse) => void);
- thenOpen(location: string, options?: OpenSettings, then?: (response: HttpResponse) => void);
- thenOpenAndEvaluate(location: string, then?: Function, ...args: any[]);
- toString();
- userAgent(agent: string);
- viewport(width: number, height: number);
- visible(selector: string);
- wait(timeout: number, then?: Function);
- waitFor(testFx: Function, then?: Function, onTimeout?: Function, timeout?: number);
- waitForPopup(urlPattern: string, then?: Function, onTimeout?: Function, timeout?: number);
- waitForPopup(urlPattern: RegExp, then?: Function, onTimeout?: Function, timeout?: number);
- waitForSelector(selector: string, then?: Function, onTimeout?: Function, timeout?: number);
- waitWhileSelector(selector: string, then?: Function, onTimeout?: Function, timeout?: number);
- waitForResource(testFx: Function, then?: Function, onTimeout?: Function, timeout?: number);
- waitForText(pattern: string, then?: Function, onTimeout?: Function, timeout?: number);
- waitForText(pattern: RegExp, then?: Function, onTimeout?: Function, timeout?: number);
- waitUntilVisible(selector: string, then?: Function, onTimeout?: Function, timeout?: number);
- waitWhileVisible(selector: string, then?: Function, onTimeout?: Function, timeout?: number);
- warn(message: string);
- withFrame(frameInfo: string, then: Function);
- withFrame(frameInfo: number, then: Function);
- withPopup(popupInfo: string, step: Function);
- withPopup(popupInfo: RegExp, step: Function);
- zoom(factor: number);
+ then(fn: (self?: Casper) => void): Casper;
+ thenClick(selector: string): Casper;
+ thenEvaluate(fn: () => any, ...args: any[]): Casper;
+ thenOpen(location: string, then?: (response: HttpResponse) => void): Casper;
+ thenOpen(location: string, options?: OpenSettings, then?: (response: HttpResponse) => void): Casper;
+ thenOpenAndEvaluate(location: string, then?: Function, ...args: any[]): Casper;
+ toString(): string;
+ userAgent(agent: string): string;
+ viewport(width: number, height: number): Casper;
+ visible(selector: string): boolean;
+ wait(timeout: number, then?: Function): Casper;
+ waitFor(testFx: Function, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForPopup(urlPattern: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForPopup(urlPattern: RegExp, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForSelector(selector: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitWhileSelector(selector: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForResource(testFx: Function, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForText(pattern: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitForText(pattern: RegExp, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitUntilVisible(selector: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ waitWhileVisible(selector: string, then?: Function, onTimeout?: Function, timeout?: number): Casper;
+ warn(message: string): Casper;
+ withFrame(frameInfo: string, then: Function): Casper;
+ withFrame(frameInfo: number, then: Function): Casper;
+ withPopup(popupInfo: string, step: Function): Casper;
+ withPopup(popupInfo: RegExp, step: Function): Casper;
+ zoom(factor: number): Casper;
}
interface HttpResponse {
@@ -127,96 +138,105 @@ interface ElementInfo {
}
interface CasperOptions {
- clientScripts: Array;
- exitOnError: boolean;
- httpStatusHandlers: any;
- logLevel: string;
- onAlert: Function;
- onDie: Function;
- onError: Function;
- onLoadError: Function;
- onPageInitialized: Function;
- onResourceReceived: Function;
- onResourceRequested: Function;
- onStepComplete: Function;
- onStepTimeout: Function;
- onTimeout: Function;
- onWaitTimeout: Function;
- page: WebPage;
- pageSettings: any;
- remoteScripts: Array;
- safeLogs: boolean;
- stepTimeout: number;
- timeout: number;
- verbose: boolean;
- viewportSize: any;
- waitTimeout: number;
+ clientScripts?: Array;
+ exitOnError?: boolean;
+ httpStatusHandlers?: any;
+ logLevel?: string;
+ onAlert?: Function;
+ onDie?: Function;
+ onError?: Function;
+ onLoadError?: Function;
+ onPageInitialized?: Function;
+ onResourceReceived?: Function;
+ onResourceRequested?: Function;
+ onStepComplete?: Function;
+ onStepTimeout?: Function;
+ onTimeout?: Function;
+ onWaitTimeout?: Function;
+ page?: WebPage;
+ pageSettings?: any;
+ remoteScripts?: Array;
+ safeLogs?: boolean;
+ stepTimeout?: number;
+ timeout?: number;
+ verbose?: boolean;
+ viewportSize?: any;
+ waitTimeout?: number;
}
interface ClientUtils {
- echo(message: string);
- encode(contents: string);
- exists(selector: string);
- findAll(selector: string);
- findOne(selector: string);
- getBase64(url: string, method?: string, data?: any);
- getBinary(url: string, method?: string, data?: any);
- getDocumentHeight();
- getElementBounds(selector: string);
- getElementsBounds(selector: string);
- getElementByXPath(expression: string, scope?: HTMLElement);
- getElementsByXPath(expression: string, scope?: HTMLElement);
- getFieldValue(inputName: string);
- getFormValues(selector: string);
- mouseEvent(type: string, selector: string);
- removeElementsByXPath(expression: string);
- sendAJAX(url: string, method?: string, data?: any, async?: boolean);
- visible(selector: string);
+ echo(message: string): void;
+ encode(contents: string): void;
+ exists(selector: string): void;
+ findAll(selector: string): void;
+ findOne(selector: string): void;
+ getBase64(url: string, method?: string, data?: any): void;
+ getBinary(url: string, method?: string, data?: any): void;
+ getDocumentHeight(): void;
+ getElementBounds(selector: string): void;
+ getElementsBounds(selector: string): void;
+ getElementByXPath(expression: string, scope?: HTMLElement): void;
+ getElementsByXPath(expression: string, scope?: HTMLElement): void;
+ getFieldValue(inputName: string): void;
+ getFormValues(selector: string): void;
+ mouseEvent(type: string, selector: string): void;
+ removeElementsByXPath(expression: string): void;
+ sendAJAX(url: string, method?: string, data?: any, async?: boolean): void;
+ visible(selector: string): void;
}
interface Colorizer {
- colorize(text: string, styleName: string);
- format(text: string, style: any);
+ colorize(text: string, styleName: string): void;
+ format(text: string, style: any): void;
}
interface Tester {
- assert(condition: boolean, message?: string);
- assertDoesntExist(selector: string, message?: string);
- assertEquals(testValue: any, expected: any, message?: string);
- assertEval(fn: Function, message: string, arguments: any);
- assertEvalEquals(fn: Function, expected: any, message?: string, arguments?: any);
- assertExists(selector: string, message?: string);
- assertFalsy(subject: any, message?: string);
- assertField(inputName: string, expected: string, message?: string);
- assertHttpStatus(status: number, message?: string);
- assertMatch(subject: any, pattern: RegExp, message?: string);
- assertNot(subject: any, message?: string);
- assertNotEquals(testValue: any, expected: any, message?: string);
- assertNotVisible(selector: string, message?: string);
- assertRaises(fn: Function, args: Array, message?: string);
- assertSelectorDoesntHaveText(selector: string, text: string, message?: string);
- assertSelectorExists(selector: string, message?: string);
- assertSelectorHasText(selector: string, text: string, message?: string);
- assertResourceExists(testFx: Function, message?: string);
- assertTextExists(expected: string, message?: string);
- assertTextDoesntExist(unexpected: string, message: string);
- assertTitle(expected: string, message?: string);
- assertTitleMatch(pattern: RegExp, message?: string);
- assertTruthy(subject: any, message?: string);
- assertType(input: any, type: string, message?: string);
- assertUrlMatch(pattern: RegExp, message?: string);
- assertVisible(selector: string, message?: string);
- colorize(message: string, style: string);
- comment(message: string);
- done(expected?: number);
- error(message: string);
- fail(message: string);
- formatMessage(message: string, style: string);
+ assert(condition: boolean, message?: string): any;
+ assertDoesntExist(selector: string, message?: string): any;
+ assertElementCount(selctor: string, expected: number, message?: string): any;
+ assertEquals(testValue: any, expected: any, message?: string): any;
+ assertEval(fn: Function, message: string, arguments: any): any;
+ assertEvalEquals(fn: Function, expected: any, message?: string, arguments?: any): any;
+ assertExists(selector: string, message?: string): any;
+ assertFalsy(subject: any, message?: string): any;
+ assertField(inputName: string, expected: string, message?: string): any;
+ assertHttpStatus(status: number, message?: string): any;
+ assertMatch(subject: any, pattern: RegExp, message?: string): any;
+ assertNot(subject: any, message?: string): any;
+ assertNotEquals(testValue: any, expected: any, message?: string): any;
+ assertNotVisible(selector: string, message?: string): any;
+ assertRaises(fn: Function, args: Array, message?: string): any;
+ assertSelectorDoesntHaveText(selector: string, text: string, message?: string): any;
+ assertSelectorExists(selector: string, message?: string): any;
+ assertSelectorHasText(selector: string, text: string, message?: string): any;
+ assertResourceExists(testFx: Function, message?: string): any;
+ assertTextExists(expected: string, message?: string): any;
+ assertTextDoesntExist(unexpected: string, message: string): any;
+ assertTitle(expected: string, message?: string): any;
+ assertTitleMatch(pattern: RegExp, message?: string): any;
+ assertTruthy(subject: any, message?: string): any;
+ assertType(input: any, type: string, message?: string): any;
+ assertUrlMatch(pattern: string, message?: string): any;
+ assertUrlMatch(pattern: RegExp, message?: string): any;
+ assertVisible(selector: string, message?: string): any;
+
+ /* since 1.1 */
+ begin(description: string, planned: number, suite: Function): any;
+ begin(description: string, suite: Function): any;
+ begin(description: string, planned: number, config: Object): any;
+ begin(description: string, config: Object): any;
+
+ colorize(message: string, style: string): any;
+ comment(message: string): any;
+ done(expected?: number): any;
+ error(message: string): any;
+ fail(message: string): any;
+ formatMessage(message: string, style: string): any;
getFailures(): Cases;
getPasses(): Cases;
- info(message: string);
- pass(message: string);
- renderResults(exit: boolean, status: number, save: string);
+ info(message: string): any;
+ pass(message: string): any;
+ renderResults(exit: boolean, status: number, save: string): any;
}
interface Cases {
@@ -238,30 +258,30 @@ interface CaseValues {
}
interface Utils {
- betterTypeOf(input: any);
- dump(value: any);
- fileExt(file: string);
- fillBlanks(text: string, pad: number);
- format(f: string, ...args: any[]);
- getPropertyPath(obj: any, path: string);
- inherits(ctor: any, superCtor: any);
- isArray(value: any);
- isCasperObject(value: any);
- isClipRect(value: any);
- isFalsy(subject: any);
- isFunction(value: any);
- isJsFile(file: string);
- isNull(value: any);
- isNumber(value: any);
- isObject(value: any);
- isRegExp(value: any);
- isString(value: any);
- isTruthy(subject: any);
- isType(what: any, type: string);
- isUndefined(value: any);
- isWebPage(what: any);
- mergeObjects(origin: any, add: any);
- node(name: string, attributes: any);
- serialize(value: any);
- unique(array: Array);
+ betterTypeOf(input: any): any;
+ dump(value: any): any;
+ fileExt(file: string): any;
+ fillBlanks(text: string, pad: number): any;
+ format(f: string, ...args: any[]): any;
+ getPropertyPath(obj: any, path: string): any;
+ inherits(ctor: any, superCtor: any): any;
+ isArray(value: any): any;
+ isCasperObject(value: any): any;
+ isClipRect(value: any): any;
+ isFalsy(subject: any): any;
+ isFunction(value: any): any;
+ isJsFile(file: string): any;
+ isNull(value: any): any;
+ isNumber(value: any): any;
+ isObject(value: any): any;
+ isRegExp(value: any): any;
+ isString(value: any): any;
+ isTruthy(subject: any): any;
+ isType(what: any, type: string): any;
+ isUndefined(value: any): any;
+ isWebPage(what: any): any;
+ mergeObjects(origin: any, add: any): any;
+ node(name: string, attributes: any): any;
+ serialize(value: any): any;
+ unique(array: Array): any;
}