diff --git a/types/slimerjs/index.d.ts b/types/slimerjs/index.d.ts index e92503f47e..2a1d8e3847 100644 --- a/types/slimerjs/index.d.ts +++ b/types/slimerjs/index.d.ts @@ -43,7 +43,12 @@ interface IPhantom { onError: (msg: string, trace: string[]) => any; } -interface ISystem { +interface IStd { + read(): any; + write(arg: any): void; +} + +interface ISystemModule { pid: number; platform: string; os: { @@ -53,6 +58,12 @@ interface ISystem { }; env: { [name: string]: string; }; args: string[]; + standarderr: IStd; + standardin: IStd; + standardout: IStd; + stdout: IStd; + stderr: IStd; + stdin: IStd; } interface IHttpConf { @@ -301,11 +312,15 @@ interface IStream { writeLine(data: string): void; } -interface IWebServer { +interface IWebServerModule { + registerDirectory(urlpath: string, directoryPath: string): void; + registerFile(urlpath: string, filePath: string): void; + registerPathHandler(urlpath: string, handlerCallback: (request: IWebServerRequest, response: IWebServerResponse) => void): void port: number; listen(port: number, cb?: (request: IWebServerRequest, response: IWebServerResponse) => void): boolean; listen(ipAddressPort: string, cb?: (request: IWebServerRequest, response: IWebServerResponse) => void): boolean; close(): void; + } interface IWebServerRequest { @@ -353,7 +368,11 @@ interface ICookie { expiry: number } -declare module "webpage" { - export function create(): IWebPage; - export function exit(returnValue?: number): void; +interface IWebPageModule { + create(): IWebPage; + exit(returnValue?: number): void; } + +declare function require(module: "webpage"): IWebPageModule; +declare function require(module: "webserver"): IWebServerModule; +declare function require(module: "system"): ISystemModule; diff --git a/types/slimerjs/slimerjs-tests.ts b/types/slimerjs/slimerjs-tests.ts index 3e11b5174b..51af247e87 100644 --- a/types/slimerjs/slimerjs-tests.ts +++ b/types/slimerjs/slimerjs-tests.ts @@ -1,7 +1,20 @@ -import webpagemod = require('webpage') -let page = webpagemod.create(); +var webpageMod = require('webpage'); +var webserverMod = require('webserver') + +let page = webpageMod.create(); let vUrl = 'https://www.w3c.org'; + +function testWebserver () { + + webserverMod.close() + webserverMod.listen(1234); + webserverMod.registerFile("urlPath", "filePath"); + webserverMod.registerDirectory("urlPath", "dirPath"); + +} + + let vUserAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8' page.settings.userAgent = vUserAgent;