[node] Update events for child_process (#12260)

* Update events for child_process

* Add related tests
This commit is contained in:
TonyYang
2016-10-28 21:54:00 +08:00
committed by Masahiro Wakame
parent 2ad9354d49
commit 38f3096f49
2 changed files with 148 additions and 0 deletions

View File

@@ -1226,6 +1226,102 @@ namespace child_process_tests {
childProcess.exec("echo test");
childProcess.spawnSync("echo test");
}
{
let _cp: childProcess.ChildProcess;
let _boolean: boolean;
_cp = _cp.addListener("close", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.addListener("disconnet", () => { });
_cp = _cp.addListener("error", (err) => {
let _err: Error = err;
})
_cp = _cp.addListener("exit", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.addListener("message", (message, sendHandle) => {
let _message: any = message;
let _sendHandle: net.Socket | net.Server = sendHandle;
})
_boolean = _cp.emit("close", () => { });
_boolean = _cp.emit("disconnet", () => { });
_boolean = _cp.emit("error", () => { });
_boolean = _cp.emit("exit", () => { });
_boolean = _cp.emit("message", () => { });
_cp = _cp.on("close", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.on("disconnet", () => { });
_cp = _cp.on("error", (err) => {
let _err: Error = err;
})
_cp = _cp.on("exit", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.on("message", (message, sendHandle) => {
let _message: any = message;
let _sendHandle: net.Socket | net.Server = sendHandle;
})
_cp = _cp.once("close", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.once("disconnet", () => { });
_cp = _cp.once("error", (err) => {
let _err: Error = err;
})
_cp = _cp.once("exit", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.once("message", (message, sendHandle) => {
let _message: any = message;
let _sendHandle: net.Socket | net.Server = sendHandle;
})
_cp = _cp.prependListener("close", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.prependListener("disconnet", () => { });
_cp = _cp.prependListener("error", (err) => {
let _err: Error = err;
})
_cp = _cp.prependListener("exit", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.prependListener("message", (message, sendHandle) => {
let _message: any = message;
let _sendHandle: net.Socket | net.Server = sendHandle;
})
_cp = _cp.prependOnceListener("close", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.prependOnceListener("disconnet", () => { });
_cp = _cp.prependOnceListener("error", (err) => {
let _err: Error = err;
})
_cp = _cp.prependOnceListener("exit", (code, signal) => {
let _code: number = code;
let _signal: string = signal;
})
_cp = _cp.prependOnceListener("message", (message, sendHandle) => {
let _message: any = message;
let _sendHandle: net.Socket | net.Server = sendHandle;
})
}
}
//////////////////////////////////////////////////////////////////////

52
node/node.d.ts vendored
View File

@@ -1412,6 +1412,7 @@ declare module "vm" {
declare module "child_process" {
import * as events from "events";
import * as stream from "stream";
import * as net from "net";
export interface ChildProcess extends events.EventEmitter {
stdin: stream.Writable;
@@ -1425,6 +1426,57 @@ declare module "child_process" {
disconnect(): void;
unref(): void;
ref(): void;
/**
* events.EventEmitter
* 1. close
* 2. disconnet
* 3. error
* 4. exit
* 5. message
**/
addListener(event: string, listener: Function): this;
addListener(event: "close", listener: (code: number, signal: string) => void): this;
addListener(event: "disconnet", listener: () => void): this;
addListener(event: "error", listener: (err: Error) => void): this;
addListener(event: "exit", listener: (code: number, signal: string) => void): this;
addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
emit(event: string, ...args: any[]): boolean;
emit(event: "close", code: number, signal: string): boolean;
emit(event: "disconnet"): boolean;
emit(event: "error", err: Error): boolean;
emit(event: "exit", code: number, signal: string): boolean;
emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean;
on(event: string, listener: Function): this;
on(event: "close", listener: (code: number, signal: string) => void): this;
on(event: "disconnet", listener: () => void): this;
on(event: "error", listener: (err: Error) => void): this;
on(event: "exit", listener: (code: number, signal: string) => void): this;
on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
once(event: string, listener: Function): this;
once(event: "close", listener: (code: number, signal: string) => void): this;
once(event: "disconnet", listener: () => void): this;
once(event: "error", listener: (err: Error) => void): this;
once(event: "exit", listener: (code: number, signal: string) => void): this;
once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
prependListener(event: string, listener: Function): this;
prependListener(event: "close", listener: (code: number, signal: string) => void): this;
prependListener(event: "disconnet", listener: () => void): this;
prependListener(event: "error", listener: (err: Error) => void): this;
prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
prependOnceListener(event: string, listener: Function): this;
prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this;
prependOnceListener(event: "disconnet", listener: () => void): this;
prependOnceListener(event: "error", listener: (err: Error) => void): this;
prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
}
export interface SpawnOptions {