separate mocha node.js definition

This commit is contained in:
vvakame
2015-06-23 21:38:32 +09:00
parent 921851a045
commit 098def61bc
4 changed files with 61 additions and 44 deletions

37
mocha/mocha-node-tests.ts Normal file
View File

@@ -0,0 +1,37 @@
/// <reference path="mocha-node.d.ts" />
import MochaDef = require('mocha');
class CustomSpecReporter extends MochaDef.reporters.Spec {
constructor(runner: Mocha.IRunner) {
super(runner);
runner.on('test', (test: Mocha.ITest) => {
console.log(test.parent.title + '/' + test.title);
});
}
}
class MyReporter extends MochaDef.reporters.Base {
passes: number = 0;
failures: number = 0;
constructor(runner: Mocha.IRunner) {
super(runner);
runner.on('pass', (test: Mocha.ITest) => {
this.passes++;
console.log('pass: %s', test.fullTitle());
});
runner.on('fail', (test: Mocha.ITest, err: Error) => {
this.failures++;
console.log('fail: %s -- error: %s', test.fullTitle(), err.message);
});
runner.on('end', () => {
console.log('end: %d/%d', this.passes, this.passes + this.failures);
process.exit(this.failures);
});
}
}

16
mocha/mocha-node.d.ts vendored Normal file
View File

@@ -0,0 +1,16 @@
// Type definitions for mocha 2.2.5
// Project: http://mochajs.org/
// Definitions by: Vadim Macagon <https://github.com/enlight>, vvakame <https://github.com/vvakame>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="mocha.d.ts" />
/// <reference path="../node/node.d.ts" />
declare module Mocha {
interface IRunnable extends NodeJS.EventEmitter {
}
interface ISuite extends NodeJS.EventEmitter {
}
interface IRunner extends NodeJS.EventEmitter {
}
}

View File

@@ -249,37 +249,3 @@ function test_run_withOnComplete() {
console.log(failures);
});
}
class CustomSpecReporter extends MochaDef.reporters.Spec {
constructor(runner: Mocha.IRunner) {
super(runner);
runner.on('test', (test: Mocha.ITest) => {
console.log(test.parent.title + '/' + test.title);
});
}
}
class MyReporter extends MochaDef.reporters.Base {
passes: number = 0;
failures: number = 0;
constructor(runner: Mocha.IRunner) {
super(runner);
runner.on('pass', (test: Mocha.ITest) => {
this.passes++;
console.log('pass: %s', test.fullTitle());
});
runner.on('fail', (test: Mocha.ITest, err: Error) => {
this.failures++;
console.log('fail: %s -- error: %s', test.fullTitle(), err.message);
});
runner.on('end', () => {
console.log('end: %d/%d', this.passes, this.passes + this.failures);
process.exit(this.failures);
});
}
}

18
mocha/mocha.d.ts vendored
View File

@@ -3,8 +3,6 @@
// Definitions by: Kazi Manzur Rashid <https://github.com/kazimanzurrashid/>, otiai10 <https://github.com/otiai10>, jt000 <https://github.com/jt000>, Vadim Macagon <https://github.com/enlight>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../node/node.d.ts" />
interface MochaSetupOptions {
//milliseconds to wait before considering a test slow
slow?: number;
@@ -30,7 +28,7 @@ interface MochaSetupOptions {
// grep string or regexp to filter tests with
grep?: any;
}
interface MochaDone {
(error?: Error): void;
}
@@ -118,7 +116,7 @@ declare class Mocha {
// merge the Mocha class declaration with a module
declare module Mocha {
/** Partial interface for Mocha's `Runnable` class. */
interface IRunnable extends NodeJS.EventEmitter {
interface IRunnable {
title: string;
fn: Function;
async: boolean;
@@ -127,10 +125,10 @@ declare module Mocha {
}
/** Partial interface for Mocha's `Suite` class. */
interface ISuite extends NodeJS.EventEmitter {
interface ISuite {
parent: ISuite;
title: string;
fullTitle(): string;
}
@@ -138,12 +136,12 @@ declare module Mocha {
interface ITest extends IRunnable {
parent: ISuite;
pending: boolean;
fullTitle(): string;
}
/** Partial interface for Mocha's `Runner` class. */
interface IRunner extends NodeJS.EventEmitter {}
interface IRunner {}
interface IContextDefinition {
(description: string, spec: () => void): ISuite;
@@ -151,7 +149,7 @@ declare module Mocha {
skip(description: string, spec: () => void): void;
timeout(ms: number): void;
}
interface ITestDefinition {
(expectation: string, assertion?: () => void): ITest;
(expectation: string, assertion?: (done: MochaDone) => void): ITest;
@@ -174,7 +172,7 @@ declare module Mocha {
constructor(runner: IRunner);
}
export class Doc extends Base {}
export class Dot extends Base {}
export class HTML extends Base {}