diff --git a/chai-as-promised/chai-as-promised-tests.ts b/chai-as-promised/chai-as-promised-tests.ts new file mode 100644 index 000000000..20a773cdd --- /dev/null +++ b/chai-as-promised/chai-as-promised-tests.ts @@ -0,0 +1,22 @@ +/// +/// + +import chai = require('chai'); +import chaiAsPromised = require('chai-as-promised'); + +chai.use(chaiAsPromised); + +var promise: any; +chai.expect(promise).to.eventually.equal(3); +chai.expect(promise).to.become(3); +chai.expect(promise).to.be.rejected; +chai.expect(promise).to.be.rejectedWith(Error); +chai.expect(promise).to.notify(() => console.log('done')); + +chai.assert.eventually.equal(promise, 4, 'Message'); +chai.assert.isFulfilled(promise, "optional message"); +chai.assert.becomes(promise, "foo", "optional message"); +chai.assert.doesNotBecome(promise, "foo", "optional message"); +chai.assert.isRejected(promise, "optional message"); +chai.assert.isRejected(promise, Error, "optional message"); +chai.assert.isRejected(promise, /error message matcher/, "optional message"); diff --git a/chai-as-promised/chai-as-promised.d.ts b/chai-as-promised/chai-as-promised.d.ts new file mode 100644 index 000000000..20b697bb5 --- /dev/null +++ b/chai-as-promised/chai-as-promised.d.ts @@ -0,0 +1,35 @@ +// Type definitions for chai-as-promised +// Project: https://github.com/domenic/chai-as-promised/ +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module 'chai-as-promised' { + import chai = require('chai'); + + function chaiAsPromised(chai: any, utils: any): void; + + export = chaiAsPromised; +} + +declare module chai { + + interface LanguageChains { + become(expected: any): Expect; + eventually: Expect; + rejected: Expect; + rejectedWith(expected: any): Expect; + notify(fn: Function): Expect; + } + + interface Assert { + eventually: Assert; + isFulfilled(promise: any, message?: string): void; + becomes(promise: any, expected: any, message?: string): void; + doesNotBecome(promise: any, expected: any, message?: string): void; + isRejected(promise: any, message?: string): void; + isRejected(promise: any, expected: any, message?: string): void; + isRejected(promise: any, match: RegExp, message?: string): void; + } +} \ No newline at end of file diff --git a/mocha/mocha-tests.ts b/mocha/mocha-tests.ts index 672fac1cb..dffd86e44 100644 --- a/mocha/mocha-tests.ts +++ b/mocha/mocha-tests.ts @@ -167,3 +167,58 @@ function test_chaining(){ .reporter('html') .reporter(function(){}); } + +import MochaDef = require('mocha'); + +function test_require_constructor_empty() { + var instance = new MochaDef(); +} + +function test_require_constructor_noOptions() { + var instance = new MochaDef({}); +} + +function test_require_constructor_allOptions() { + var instance = new MochaDef({ + grep: /[a-z]*/, + ui: 'tdd', + reporter: 'dot', + timeout: 500, + bail: true + }); +} + + +function test_require_fluentParams() { + var instance = new MochaDef(); + + instance.bail(true) + .bail() + .addFile('foo.js') + .reporter('bdd') + .ui('dot') + .grep('[a-z]*') + .grep(/[a-z]*/) + .invert() + .ignoreLeaks(true) + .checkLeaks() + .growl() + .globals('foo') + .globals(['bar', 'zap']) + .useColors(true) + .useInlineDiffs(true) + .timeout(500) + .slow(100) + .enableTimeouts(true) + .asyncOnly(false) + .noHighlighting(true) + .run(); +} + +function test_run_withOnComplete() { + var instance = new MochaDef(); + + instance.run((failures: number): void => { + console.log(failures); + }); +} \ No newline at end of file diff --git a/mocha/mocha.d.ts b/mocha/mocha.d.ts index 64255a7ba..6a2a53959 100644 --- a/mocha/mocha.d.ts +++ b/mocha/mocha.d.ts @@ -1,6 +1,6 @@ -// Type definitions for mocha 1.17.1 -// Project: http://visionmedia.github.io/mocha/ -// Definitions by: Kazi Manzur Rashid , otiai10 +// Type definitions for mocha 2.0.1 +// Project: http://mochajs.org/ +// Definitions by: Kazi Manzur Rashid , otiai10 , jt000 // Definitions: https://github.com/borisyankov/DefinitelyTyped interface Mocha { @@ -108,3 +108,40 @@ declare function afterEach(action: (done: MochaDone) => void): void; declare function suiteTeardown(action: () => void): void; declare function suiteTeardown(action: (done: MochaDone) => void): void; + +declare module "mocha" { + + class Mocha { + constructor(options?: { + grep?: RegExp; + ui?: string; + reporter?: string; + timeout?: number; + bail?: boolean; + }); + + bail(value?: boolean): Mocha; + addFile(file: string): Mocha; + reporter(value: string): Mocha; + ui(value: string): Mocha; + grep(value: string): Mocha; + grep(value: RegExp): Mocha; + invert(): Mocha; + ignoreLeaks(value: boolean): Mocha; + checkLeaks(): Mocha; + growl(): Mocha; + globals(value: string): Mocha; + globals(values: string[]): Mocha; + useColors(value: boolean): Mocha; + useInlineDiffs(value: boolean): Mocha; + timeout(value: number): Mocha; + slow(value: number): Mocha; + enableTimeouts(value: boolean): Mocha; + asyncOnly(value: boolean): Mocha; + noHighlighting(value: boolean): Mocha; + + run(onComplete?: (failures: number) => void): void; + } + + export = Mocha; +} diff --git a/mockery/mockery-test.ts b/mockery/mockery-test.ts new file mode 100644 index 000000000..d8623b3aa --- /dev/null +++ b/mockery/mockery-test.ts @@ -0,0 +1,41 @@ +/// + +import mockery = require('mockery'); + +mockery.enable(); +mockery.enable({}); +mockery.enable({ + useCleanCache: true, + warnOnReplace: true, + warnOnUnregistered: true +}); + +mockery.disable(); + +var fsMock = { + stat: (path: any, cb: any) => { /* your mock code */ } +}; +mockery.registerMock('fs', fsMock); + +mockery.deregisterMock('fs'); + +mockery.registerSubstitute('fs', 'fs-mock'); + +mockery.deregisterSubstitute('fs'); + +mockery.registerAllowable('./my-source-under-test'); +mockery.registerAllowable('./my-source-under-test', true); + +mockery.deregisterAllowable('./my-source-under-test'); + +mockery.registerAllowables(['async', 'path', 'util']); + +mockery.deregisterAllowables(['async', 'path', 'util']); + +mockery.deregisterAll(); + +mockery.resetCache(); + +mockery.warnOnUnregistered(false); + +mockery.warnOnReplace(false); \ No newline at end of file diff --git a/mockery/mockery.d.ts b/mockery/mockery.d.ts new file mode 100644 index 000000000..f4d98de2b --- /dev/null +++ b/mockery/mockery.d.ts @@ -0,0 +1,33 @@ +// Type definitions for mockery 1.4.0 +// Project: https://github.com/mfncooper/mockery +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +declare module "mockery" { + + interface MockeryEnableArgs { + useCleanCache?: boolean; + warnOnReplace?: boolean; + warnOnUnregistered?: boolean; + } + + export function enable(args?: MockeryEnableArgs): void; + export function disable(): void; + + export function registerMock(name: string, mock: any): void; + export function deregisterMock(name: string): void; + + export function registerSubstitute(name: string, substitute: string): void; + export function deregisterSubstitute(name: string): void; + + export function registerAllowable(name: string, unhook?: boolean): void; + export function deregisterAllowable(name: string): void; + + export function registerAllowables(names: string[]): void; + export function deregisterAllowables(names: string[]): void; + + export function deregisterAll(): void; + export function resetCache(): void; + export function warnOnUnregistered(value: boolean): void; + export function warnOnReplace(value: boolean): void; +} \ No newline at end of file diff --git a/mongoose-mock/mongoose-mock-tests.ts b/mongoose-mock/mongoose-mock-tests.ts new file mode 100644 index 000000000..4f364cf97 --- /dev/null +++ b/mongoose-mock/mongoose-mock-tests.ts @@ -0,0 +1,7 @@ +/// +/// + +import mongooseMock = require('mongoose-mock'); + +// returns a mongoose object +mongooseMock.connect('url'); \ No newline at end of file diff --git a/mongoose-mock/mongoose-mock.d.ts b/mongoose-mock/mongoose-mock.d.ts new file mode 100644 index 000000000..90d6327b4 --- /dev/null +++ b/mongoose-mock/mongoose-mock.d.ts @@ -0,0 +1,13 @@ +// Type definitions for mongoose-mock 0.4.0 +// Project: https://github.com/JohanObrink/mongoose-mock +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "mongoose-mock" { + import mongoose = require('mongoose'); + + var mock: mongoose.Mongoose; + export = mock; +} \ No newline at end of file diff --git a/multer/multer-tests.ts b/multer/multer-tests.ts new file mode 100644 index 000000000..8131293f5 --- /dev/null +++ b/multer/multer-tests.ts @@ -0,0 +1,8 @@ +/// +/// + +import express = require('express'); +import multer = require('multer'); + +var app: express.Express = express(); +app.use(multer()); \ No newline at end of file diff --git a/multer/multer.d.ts b/multer/multer.d.ts new file mode 100644 index 000000000..b188c22ae --- /dev/null +++ b/multer/multer.d.ts @@ -0,0 +1,14 @@ +// Type definitions for multer +// Project: https://github.com/expressjs/multer +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module "multer" { + import express = require('express'); + + function multer(options?: any): express.RequestHandler; + + export = multer; +} \ No newline at end of file diff --git a/proxyquire/proxyquire-test.ts b/proxyquire/proxyquire-test.ts new file mode 100644 index 000000000..b1985de58 --- /dev/null +++ b/proxyquire/proxyquire-test.ts @@ -0,0 +1,19 @@ +/// + +import proxyquire = require('proxyquire'); + +class Foo {} +var mock = {}; + +var myModule = proxyquire('myModule', mock); +var fooModule: Foo = proxyquire('foo', mock); + +myModule = proxyquire.noCallThru() + .load('myModule', mock); + +fooModule = proxyquire.callThru() + .load('foo', mock); + +proxyquire.preserveCache(); + +proxyquire.noPreserveCache(); diff --git a/proxyquire/proxyquire.d.ts b/proxyquire/proxyquire.d.ts new file mode 100644 index 000000000..06e1c773e --- /dev/null +++ b/proxyquire/proxyquire.d.ts @@ -0,0 +1,25 @@ +// Type definitions for Proxyquire 1.3.0 +// Project: https://github.com/thlorenz/proxyquire +// Definitions by: jt000 +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface Proxyquire { + + (request: string, stubs: any): any; + (request: string, stubs: any): T; + + load(request: string, stubs: any): any; + load(request: string, stubs: any): T; + + noCallThru(): Proxyquire; + callThru(): Proxyquire; + + noPreserveCache(): void; + preserveCache(): void; +} + +declare module 'proxyquire' { + + var p: Proxyquire; + export = p; +} \ No newline at end of file