diff --git a/chai/chai-assert-tests.ts b/chai/chai-assert-tests.ts index 19429b4c9..4dc430f0c 100644 --- a/chai/chai-assert-tests.ts +++ b/chai/chai-assert-tests.ts @@ -33,17 +33,25 @@ THE SOFTWARE. /// //stubs -declare module chai { - var AssertionError; - function expect(body):any; -} + //tdd -declare function suite(description, action):void; -declare function test(description, action):void; -declare function err(action, msg?):void; +declare function suite(description: string, action: Function):void; +declare function test(description: string, action: Function):void; +declare function err(action: any, msg?: string):void; interface FieldObj { field: any; } +class Foo { + constructor() { + + } +} + +class CrashyObject { + inspect (): void { + throw new Error("Arg's inspect() called even though the test passed"); + } +} suite('assert', function () { @@ -56,12 +64,6 @@ suite('assert', function () { }, "expected foo to equal `bar`"); }); - test('fail', function () { - chai.expect(function () { - assert.fail(); - }).to.throw(chai.AssertionError); - }); - test('isTrue', function () { assert.isTrue(true); @@ -109,7 +111,7 @@ suite('assert', function () { }); test('equal', function () { - var foo; + var foo: any; assert.equal(foo, undefined); }); @@ -133,27 +135,15 @@ suite('assert', function () { }); test('instanceOf', function () { - function Foo() { - } - assert.instanceOf(new Foo(), Foo); err(function () { assert.instanceOf(5, Foo); }, "expected 5 to be an instance of Foo"); - - function CrashyObject() { - }; - CrashyObject.prototype.inspect = function () { - throw new Error("Arg's inspect() called even though the test passed"); - }; assert.instanceOf(new CrashyObject(), CrashyObject); }); test('notInstanceOf', function () { - function Foo() { - } - assert.notInstanceOf(new Foo(), String); err(function () { @@ -162,9 +152,6 @@ suite('assert', function () { }); test('isObject', function () { - function Foo() { - } - assert.isObject({}); assert.isObject(new Foo()); @@ -182,9 +169,6 @@ suite('assert', function () { }); test('isNotObject', function () { - function Foo() { - } - assert.isNotObject(5); err(function () { diff --git a/chai/chai-assert.d.ts b/chai/chai-assert.d.ts index b8845bc6b..0790cb17f 100644 --- a/chai/chai-assert.d.ts +++ b/chai/chai-assert.d.ts @@ -1,114 +1,135 @@ -// Type definitions for chai v1.7.0 assert style +// Type definitions for chai v1.9.0 assert style // Project: http://chaijs.com/ // Definitions by: Bart van der Schoor // Definitions: https://github.com/borisyankov/DefinitelyTyped -declare module chai -{ - interface Assert - { - (express:any, msg?:string):void; +declare module chai { + export class AssertionError { + constructor(message: string, _props?: any, ssf?: Function); + name: string; + message: string; + showDiff: boolean; + stack: string; + } + export function use(plugin: any): void; - fail(actual?:any, expected?:any, msg?:string, operator?:string):void; + export var Assertion: ChaiAssertion; + export var assert: Assert; + export var config: ChaiConfig; - ok(val:any, msg?:string):void; - notOk(val:any, msg?:string):void; + export interface ChaiConfig { + includeStack: boolean; + } - equal(act:any, exp:any, msg?:string):void; - notEqual(act:any, exp:any, msg?:string):void; + export interface ChaiAssertion { + // what? + } - strictEqual(act:any, exp:any, msg?:string):void; - notStrictEqual(act:any, exp:any, msg?:string):void; + export interface Assert { + (express: any, msg?: string):void; - deepEqual(act:any, exp:any, msg?:string):void; - notDeepEqual(act:any, exp:any, msg?:string):void; + fail(actual?: any, expected?: any, msg?: string, operator?: string):void; - isTrue(val:any, msg?:string):void; - isFalse(val:any, msg?:string):void; + ok(val: any, msg?: string):void; + notOk(val: any, msg?: string):void; - isNull(val:any, msg?:string):void; - isNotNull(val:any, msg?:string):void; + equal(act: any, exp: any, msg?: string):void; + notEqual(act: any, exp: any, msg?: string):void; - isUndefined(val:any, msg?:string):void; - isDefined(val:any, msg?:string):void; + strictEqual(act: any, exp: any, msg?: string):void; + notStrictEqual(act: any, exp: any, msg?: string):void; - isFunction(val:any, msg?:string):void; - isNotFunction(val:any, msg?:string):void; + deepEqual(act: any, exp: any, msg?: string):void; + notDeepEqual(act: any, exp: any, msg?: string):void; - isObject(val:any, msg?:string):void; - isNotObject(val:any, msg?:string):void; + isTrue(val: any, msg?: string):void; + isFalse(val: any, msg?: string):void; - isArray(val:any, msg?:string):void; - isNotArray(val:any, msg?:string):void; + isNull(val: any, msg?: string):void; + isNotNull(val: any, msg?: string):void; - isString(val:any, msg?:string):void; - isNotString(val:any, msg?:string):void; + isUndefined(val: any, msg?: string):void; + isDefined(val: any, msg?: string):void; - isNumber(val:any, msg?:string):void; - isNotNumber(val:any, msg?:string):void; + isFunction(val: any, msg?: string):void; + isNotFunction(val: any, msg?: string):void; - isBoolean(val:any, msg?:string):void; - isNotBoolean(val:any, msg?:string):void; + isObject(val: any, msg?: string):void; + isNotObject(val: any, msg?: string):void; - typeOf(val:any, type:string, msg?:string):void; - notTypeOf(val:any, type:string, msg?:string):void; + isArray(val: any, msg?: string):void; + isNotArray(val: any, msg?: string):void; - instanceOf(val:any, type:Function, msg?:string):void; - notInstanceOf(val:any, type:Function, msg?:string):void; + isString(val: any, msg?: string):void; + isNotString(val: any, msg?: string):void; - include(exp:string, inc:any, msg?:string):void; - include(exp:any[], inc:any, msg?:string):void; + isNumber(val: any, msg?: string):void; + isNotNumber(val: any, msg?: string):void; - notInclude(exp:string, inc:any, msg?:string):void; - notInclude(exp:any[], inc:any, msg?:string):void; + isBoolean(val: any, msg?: string):void; + isNotBoolean(val: any, msg?: string):void; - match(exp:any, re:RegExp, msg?:string):void; - notMatch(exp:any, re:RegExp, msg?:string):void; + typeOf(val: any, type: string, msg?: string):void; + notTypeOf(val: any, type: string, msg?: string):void; - property(obj:Object, prop:string, msg?:string):void; - notProperty(obj:Object, prop:string, msg?:string):void; - deepProperty(obj:Object, prop:string, msg?:string):void; - notDeepProperty(obj:Object, prop:string, msg?:string):void; + instanceOf(val: any, type: Function, msg?: string):void; + notInstanceOf(val: any, type: Function, msg?: string):void; - propertyVal(obj:Object, prop:string, val:any, msg?:string):void; - propertyNotVal(obj:Object, prop:string, val:any, msg?:string):void; + include(exp: string, inc: any, msg?: string):void; + include(exp: any[], inc: any, msg?: string):void; - deepPropertyVal(obj:Object, prop:string, val:any, msg?:string):void; - deepPropertyNotVal(obj:Object, prop:string, val:any, msg?:string):void; + notInclude(exp: string, inc: any, msg?: string):void; + notInclude(exp: any[], inc: any, msg?: string):void; - lengthOf(exp:any, len:number, msg?:string):void; + match(exp: any, re: RegExp, msg?: string):void; + notMatch(exp: any, re: RegExp, msg?: string):void; + property(obj: Object, prop: string, msg?: string):void; + notProperty(obj: Object, prop: string, msg?: string):void; + deepProperty(obj: Object, prop: string, msg?: string):void; + notDeepProperty(obj: Object, prop: string, msg?: string):void; + + propertyVal(obj: Object, prop: string, val: any, msg?: string):void; + propertyNotVal(obj: Object, prop: string, val: any, msg?: string):void; + + deepPropertyVal(obj: Object, prop: string, val: any, msg?: string):void; + deepPropertyNotVal(obj: Object, prop: string, val: any, msg?: string):void; + + lengthOf(exp: any, len: number, msg?: string):void; //alias frenzy - throw(fn:Function, msg?:string):void; - throw(fn:Function, regExp:RegExp):void; - throw(fn:Function, errType:Function, msg?:string):void; - throw(fn:Function, errType:Function, regExp:RegExp):void; + throw(fn: Function, msg?: string):void; + throw(fn: Function, regExp: RegExp):void; + throw(fn: Function, errType: Function, msg?: string):void; + throw(fn: Function, errType: Function, regExp: RegExp):void; - throws(fn:Function, msg?:string):void; - throws(fn:Function, regExp:RegExp):void; - throws(fn:Function, errType:Function, msg?:string):void; - throws(fn:Function, errType:Function, regExp:RegExp):void; + throws(fn: Function, msg?: string):void; + throws(fn: Function, regExp: RegExp):void; + throws(fn: Function, errType: Function, msg?: string):void; + throws(fn: Function, errType: Function, regExp: RegExp):void; - Throw(fn:Function, msg?:string):void; - Throw(fn:Function, regExp:RegExp):void; - Throw(fn:Function, errType:Function, msg?:string):void; - Throw(fn:Function, errType:Function, regExp:RegExp):void; + Throw(fn: Function, msg?: string):void; + Throw(fn: Function, regExp: RegExp):void; + Throw(fn: Function, errType: Function, msg?: string):void; + Throw(fn: Function, errType: Function, regExp: RegExp):void; - doesNotThrow(fn:Function, msg?:string):void; - doesNotThrow(fn:Function, regExp:RegExp):void; - doesNotThrow(fn:Function, errType:Function, msg?:string):void; - doesNotThrow(fn:Function, errType:Function, regExp:RegExp):void; + doesNotThrow(fn: Function, msg?: string):void; + doesNotThrow(fn: Function, regExp: RegExp):void; + doesNotThrow(fn: Function, errType: Function, msg?: string):void; + doesNotThrow(fn: Function, errType: Function, regExp: RegExp):void; - operator(val:any, operator:string, val2:any, msg?:string):void; - closeTo(act:number, exp:number, delta:number, msg?:string):void; + operator(val: any, operator: string, val2: any, msg?: string):void; + closeTo(act: number, exp: number, delta: number, msg?: string):void; - sameMembers(set1:any[], set2:any[], msg?:string):void; - includeMembers(set1:any[], set2:any[], msg?:string):void; + sameMembers(set1: any[], set2: any[], msg?: string):void; + includeMembers(set1: any[], set2: any[], msg?: string):void; - ifError(val:any, msg?:string):void; + ifError(val: any, msg?: string):void; } - //node module - var assert:Assert; } + //browser global declare var assert:chai.Assert; + +declare module 'chai' { +export = chai; +}