From adb3a29aa82ff5fec795bdad820fb28abed2bfd7 Mon Sep 17 00:00:00 2001 From: Bart van der Schoor Date: Mon, 26 May 2014 12:50:31 +0200 Subject: [PATCH] updated chai-assert.d.ts fixed chai test --- chai/chai-assert-tests.ts | 48 +++----- chai/chai-assert.d.ts | 233 +++++++++++++++++++++----------------- 2 files changed, 143 insertions(+), 138 deletions(-) diff --git a/chai/chai-assert-tests.ts b/chai/chai-assert-tests.ts index 19429b4c92..4dc430f0cb 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 b8845bc6b8..0790cb17ff 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; - - fail(actual?:any, expected?:any, msg?:string, operator?:string):void; - - ok(val:any, msg?:string):void; - notOk(val:any, msg?:string):void; - - equal(act:any, exp:any, msg?:string):void; - notEqual(act:any, exp:any, msg?:string):void; - - strictEqual(act:any, exp:any, msg?:string):void; - notStrictEqual(act:any, exp:any, msg?:string):void; - - deepEqual(act:any, exp:any, msg?:string):void; - notDeepEqual(act:any, exp:any, msg?:string):void; - - isTrue(val:any, msg?:string):void; - isFalse(val:any, msg?:string):void; - - isNull(val:any, msg?:string):void; - isNotNull(val:any, msg?:string):void; - - isUndefined(val:any, msg?:string):void; - isDefined(val:any, msg?:string):void; - - isFunction(val:any, msg?:string):void; - isNotFunction(val:any, msg?:string):void; - - isObject(val:any, msg?:string):void; - isNotObject(val:any, msg?:string):void; - - isArray(val:any, msg?:string):void; - isNotArray(val:any, msg?:string):void; - - isString(val:any, msg?:string):void; - isNotString(val:any, msg?:string):void; - - isNumber(val:any, msg?:string):void; - isNotNumber(val:any, msg?:string):void; - - isBoolean(val:any, msg?:string):void; - isNotBoolean(val:any, msg?:string):void; - - typeOf(val:any, type:string, msg?:string):void; - notTypeOf(val:any, type:string, msg?:string):void; - - instanceOf(val:any, type:Function, msg?:string):void; - notInstanceOf(val:any, type:Function, msg?:string):void; - - include(exp:string, inc:any, msg?:string):void; - include(exp:any[], inc:any, msg?:string):void; - - notInclude(exp:string, inc:any, msg?:string):void; - notInclude(exp:any[], inc:any, 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; - - 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; - - 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; - - sameMembers(set1:any[], set2:any[], msg?:string):void; - includeMembers(set1:any[], set2:any[], msg?:string):void; - - ifError(val: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; + + export var Assertion: ChaiAssertion; + export var assert: Assert; + export var config: ChaiConfig; + + export interface ChaiConfig { + includeStack: boolean; + } + + export interface ChaiAssertion { + // what? + } + + export interface Assert { + (express: any, msg?: string):void; + + fail(actual?: any, expected?: any, msg?: string, operator?: string):void; + + ok(val: any, msg?: string):void; + notOk(val: any, msg?: string):void; + + equal(act: any, exp: any, msg?: string):void; + notEqual(act: any, exp: any, msg?: string):void; + + strictEqual(act: any, exp: any, msg?: string):void; + notStrictEqual(act: any, exp: any, msg?: string):void; + + deepEqual(act: any, exp: any, msg?: string):void; + notDeepEqual(act: any, exp: any, msg?: string):void; + + isTrue(val: any, msg?: string):void; + isFalse(val: any, msg?: string):void; + + isNull(val: any, msg?: string):void; + isNotNull(val: any, msg?: string):void; + + isUndefined(val: any, msg?: string):void; + isDefined(val: any, msg?: string):void; + + isFunction(val: any, msg?: string):void; + isNotFunction(val: any, msg?: string):void; + + isObject(val: any, msg?: string):void; + isNotObject(val: any, msg?: string):void; + + isArray(val: any, msg?: string):void; + isNotArray(val: any, msg?: string):void; + + isString(val: any, msg?: string):void; + isNotString(val: any, msg?: string):void; + + isNumber(val: any, msg?: string):void; + isNotNumber(val: any, msg?: string):void; + + isBoolean(val: any, msg?: string):void; + isNotBoolean(val: any, msg?: string):void; + + typeOf(val: any, type: string, msg?: string):void; + notTypeOf(val: any, type: string, msg?: string):void; + + instanceOf(val: any, type: Function, msg?: string):void; + notInstanceOf(val: any, type: Function, msg?: string):void; + + include(exp: string, inc: any, msg?: string):void; + include(exp: any[], inc: any, msg?: string):void; + + notInclude(exp: string, inc: any, msg?: string):void; + notInclude(exp: any[], inc: any, 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; + + 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; + + 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; + + sameMembers(set1: any[], set2: any[], msg?: string):void; + includeMembers(set1: any[], set2: 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; +}