diff --git a/node/node-tests.ts b/node/node-tests.ts index 397a9dfa48..9b896a3ef0 100644 --- a/node/node-tests.ts +++ b/node/node-tests.ts @@ -6,6 +6,8 @@ import events = require("events"); import zlib = require("zlib"); import url = require('url'); import util = require("util"); +import http = require("http"); +import net = require("net"); assert(1 + 1 - 2 === 0, "The universe isn't how it should."); @@ -80,3 +82,9 @@ function stream_readable_pipe_test() { var w = fs.createWriteStream('file.txt.gz'); r.pipe(z).pipe(w); } + +//////////////////////////////////////////////////// + +// Make sure .listen() and .close() retuern a Server instance +http.createServer().listen(0).close().address(); +net.createServer().listen(0).close().address(); diff --git a/node/node.d.ts b/node/node.d.ts index 4fafb883e7..4a15d4777e 100644 --- a/node/node.d.ts +++ b/node/node.d.ts @@ -252,10 +252,11 @@ declare module "http" { import stream = require("stream"); export interface Server extends NodeEventEmitter { - listen(port: number, hostname?: string, backlog?: number, callback?: Function): void; - listen(path: string, callback?: Function): void; - listen(handle: any, listeningListener?: Function): void; - close(cb?: any): void; + listen(port: number, hostname?: string, backlog?: number, callback?: Function): Server; + listen(path: string, callback?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; + close(cb?: any): Server; + address(): { port: number; family: string; address: string; }; maxHeadersCount: number; } export interface ServerRequest extends NodeEventEmitter, ReadableStream { @@ -707,10 +708,10 @@ declare module "net" { }; export interface Server extends Socket { - listen(port: number, host?: string, backlog?: number, listeningListener?: Function): void; - listen(path: string, listeningListener?: Function): void; - listen(handle: any, listeningListener?: Function): void; - close(callback?: Function): void; + listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server; + listen(path: string, listeningListener?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; + close(callback?: Function): Server; address(): { port: number; family: string; address: string; }; maxConnections: number; connections: number; @@ -953,12 +954,12 @@ declare module "tls" { export interface Server extends net.Server { // Extended base methods - listen(port: number, host?: string, backlog?: number, listeningListener?: Function): void; - listen(path: string, listeningListener?: Function): void; - listen(handle: any, listeningListener?: Function): void; + listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server; + listen(path: string, listeningListener?: Function): Server; + listen(handle: any, listeningListener?: Function): Server; - listen(port: number, host?: string, callback?: Function): void; - close(): void; + listen(port: number, host?: string, callback?: Function): Server; + close(): Server; address(): { port: number; family: string; address: string; }; addContext(hostName: string, credentials: { key: string;