diff --git a/assert/assert.d.ts b/assert/assert.d.ts index bccf4fef9a..e334b87e9a 100644 --- a/assert/assert.d.ts +++ b/assert/assert.d.ts @@ -57,6 +57,7 @@ declare module assert { // export = assert; // } +// move to power-assert.d.ts. do not use this definition file. declare module "power-assert" { export = assert; } diff --git a/power-assert/power-assert-tests.ts b/power-assert/power-assert-tests.ts new file mode 100644 index 0000000000..6a6b010d32 --- /dev/null +++ b/power-assert/power-assert-tests.ts @@ -0,0 +1,19 @@ +/// + +assert(1 + 1 - 2 === 0, "The universe isn't how it should."); + +assert.deepEqual({ x: { y: 3 } }, { x: { y: 3 } }, "DEEP WENT DERP"); + +assert.equal(3, "3", "uses == comparator"); + +assert.notStrictEqual(2, "2", "uses === comparator"); + +assert.throws(() => { + throw "a hammer at your face"; +}, undefined, "DODGED IT"); + +assert.doesNotThrow(() => { + if (false) { + throw "a hammer at your face"; + } +}, undefined, "What the...*crunch*"); diff --git a/power-assert/power-assert.d.ts b/power-assert/power-assert.d.ts new file mode 100644 index 0000000000..05d8fdf1b0 --- /dev/null +++ b/power-assert/power-assert.d.ts @@ -0,0 +1,56 @@ +// Type definitions for power-assert +// Project: https://github.com/twada/power-assert +// Definitions by: vvakame +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +// copy from assert external module in node.d.ts + +declare function assert(value:any, message?:string):void; +declare module assert { + export class AssertionError implements Error { + name:string; + message:string; + actual:any; + expected:any; + operator:string; + generatedMessage:boolean; + + constructor(options?:{message?: string; actual?: any; expected?: any; operator?: string; stackStartFunction?: Function}); + } + + export function fail(actual?:any, expected?:any, message?:string, operator?:string):void; + + export function ok(value:any, message?:string):void; + + export function equal(actual:any, expected:any, message?:string):void; + + export function notEqual(actual:any, expected:any, message?:string):void; + + export function deepEqual(actual:any, expected:any, message?:string):void; + + export function notDeepEqual(acutal:any, expected:any, message?:string):void; + + export function strictEqual(actual:any, expected:any, message?:string):void; + + export function notStrictEqual(actual:any, expected:any, message?:string):void; + + export var throws:{ + (block:Function, message?:string): void; + (block:Function, error:Function, message?:string): void; + (block:Function, error:RegExp, message?:string): void; + (block:Function, error:(err:any) => boolean, message?:string): void; + }; + + export var doesNotThrow:{ + (block:Function, message?:string): void; + (block:Function, error:Function, message?:string): void; + (block:Function, error:RegExp, message?:string): void; + (block:Function, error:(err:any) => boolean, message?:string): void; + }; + + export function ifError(value:any):void; +} + +declare module "power-assert" { + export = assert; +}