| // Type definitions for chai 4.3 | |
| // Project: http://chaijs.com/ | |
| // Definitions by: Bart van der Schoor <https://github.com/Bartvds> | |
| // Andrew Brown <https://github.com/AGBrown> | |
| // Olivier Chevet <https://github.com/olivr70> | |
| // Matt Wistrand <https://github.com/mwistrand> | |
| // Shaun Luttin <https://github.com/shaunluttin> | |
| // Satana Charuwichitratana <https://github.com/micksatana> | |
| // Erik Schierboom <https://github.com/ErikSchierboom> | |
| // Bogdan Paranytsia <https://github.com/bparan> | |
| // CXuesong <https://github.com/CXuesong> | |
| // Joey Kilpatrick <https://github.com/joeykilpatrick> | |
| // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | |
| // TypeScript Version: 3.0 | |
| declare namespace Chai { | |
| type Message = string | (() => string); | |
| type ObjectProperty = string | symbol | number; | |
| interface PathInfo { | |
| parent: object; | |
| name: string; | |
| value?: any; | |
| exists: boolean; | |
| } | |
| interface ErrorConstructor { | |
| new(...args: any[]): Error; | |
| } | |
| interface ChaiUtils { | |
| addChainableMethod( | |
| // object to define the method on, e.g. chai.Assertion.prototype | |
| ctx: object, | |
| // method name | |
| name: string, | |
| // method itself; any arguments | |
| method: (...args: any[]) => void, | |
| // called when property is accessed | |
| chainingBehavior?: () => void, | |
| ): void; | |
| overwriteChainableMethod( | |
| ctx: object, | |
| name: string, | |
| method: (...args: any[]) => void, | |
| chainingBehavior?: () => void, | |
| ): void; | |
| addLengthGuard( | |
| fn: Function, | |
| assertionName: string, | |
| isChainable: boolean, | |
| ): void; | |
| addMethod(ctx: object, name: string, method: Function): void; | |
| addProperty(ctx: object, name: string, getter: () => any): void; | |
| overwriteMethod(ctx: object, name: string, method: Function): void; | |
| overwriteProperty(ctx: object, name: string, getter: () => any): void; | |
| compareByInspect(a: object, b: object): -1 | 1; | |
| expectTypes(obj: object, types: string[]): void; | |
| flag(obj: object, key: string, value?: any): any; | |
| getActual(obj: object, args: AssertionArgs): any; | |
| getProperties(obj: object): string[]; | |
| getEnumerableProperties(obj: object): string[]; | |
| getOwnEnumerablePropertySymbols(obj: object): symbol[]; | |
| getOwnEnumerableProperties(obj: object): Array<string | symbol>; | |
| getMessage(errorLike: Error | string): string; | |
| getMessage(obj: any, args: AssertionArgs): string; | |
| inspect(obj: any, showHidden?: boolean, depth?: number, colors?: boolean): string; | |
| isProxyEnabled(): boolean; | |
| objDisplay(obj: object): void; | |
| proxify(obj: object, nonChainableMethodName: string): object; | |
| test(obj: object, args: AssertionArgs): boolean; | |
| transferFlags(assertion: Assertion, obj: object, includeAll?: boolean): void; | |
| compatibleInstance(thrown: Error, errorLike: Error | ErrorConstructor): boolean; | |
| compatibleConstructor(thrown: Error, errorLike: Error | ErrorConstructor): boolean; | |
| compatibleMessage(thrown: Error, errMatcher: string | RegExp): boolean; | |
| getConstructorName(constructorFn: Function): string; | |
| getFuncName(constructorFn: Function): string | null; | |
| // Reexports from pathval: | |
| hasProperty(obj: object | undefined | null, name: ObjectProperty): boolean; | |
| getPathInfo(obj: object, path: string): PathInfo; | |
| getPathValue(obj: object, path: string): object | undefined; | |
| } | |
| type ChaiPlugin = (chai: ChaiStatic, utils: ChaiUtils) => void; | |
| interface ChaiStatic { | |
| expect: ExpectStatic; | |
| should(): Should; | |
| /** | |
| * Provides a way to extend the internals of Chai | |
| */ | |
| use(fn: ChaiPlugin): ChaiStatic; | |
| util: ChaiUtils; | |
| assert: AssertStatic; | |
| config: Config; | |
| Assertion: AssertionStatic; | |
| AssertionError: typeof AssertionError; | |
| version: string; | |
| } | |
| export interface ExpectStatic { | |
| (val: any, message?: string): Assertion; | |
| fail(message?: string): never; | |
| fail(actual: any, expected: any, message?: string, operator?: Operator): never; | |
| } | |
| export interface AssertStatic extends Assert { | |
| } | |
| // chai.Assertion.prototype.assert arguments | |
| type AssertionArgs = [ | |
| // 'expression to be tested' | |
| // This parameter is unused and the docs list its type as | |
| // 'Philosophical', which is mentioned nowhere else in the source. Do | |
| // with that what you will! | |
| any, | |
| Message, // message if value fails | |
| Message, // message if negated value fails | |
| any, // expected value | |
| any?, // actual value | |
| boolean?, // showDiff | |
| ]; | |
| export interface AssertionPrototype { | |
| assert(...args: AssertionArgs): void; | |
| _obj: any; | |
| } | |
| export interface AssertionStatic extends AssertionPrototype { | |
| prototype: AssertionPrototype; | |
| new(target: any, message?: string, ssfi?: Function, lockSsfi?: boolean): Assertion; | |
| // Deprecated properties: | |
| includeStack: boolean; | |
| showDiff: boolean; | |
| // Partials of functions on ChaiUtils: | |
| addProperty(name: string, getter: (this: AssertionStatic) => any): void; | |
| addMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; | |
| addChainableMethod( | |
| name: string, | |
| method: (this: AssertionStatic, ...args: any[]) => void, | |
| chainingBehavior?: () => void, | |
| ): void; | |
| overwriteProperty(name: string, getter: (this: AssertionStatic) => any): void; | |
| overwriteMethod(name: string, method: (this: AssertionStatic, ...args: any[]) => any): void; | |
| overwriteChainableMethod( | |
| name: string, | |
| method: (this: AssertionStatic, ...args: any[]) => void, | |
| chainingBehavior?: () => void, | |
| ): void; | |
| } | |
| export type Operator = string; // "==" | "===" | ">" | ">=" | "<" | "<=" | "!=" | "!=="; | |
| export type OperatorComparable = boolean | null | number | string | undefined | Date; | |
| interface ShouldAssertion { | |
| equal(value1: any, value2: any, message?: string): void; | |
| Throw: ShouldThrow; | |
| throw: ShouldThrow; | |
| exist(value: any, message?: string): void; | |
| } | |
| interface Should extends ShouldAssertion { | |
| not: ShouldAssertion; | |
| fail(message?: string): never; | |
| fail(actual: any, expected: any, message?: string, operator?: Operator): never; | |
| } | |
| interface ShouldThrow { | |
| (actual: Function, expected?: string | RegExp, message?: string): void; | |
| (actual: Function, constructor: Error | Function, expected?: string | RegExp, message?: string): void; | |
| } | |
| interface Assertion extends LanguageChains, NumericComparison, TypeComparison { | |
| not: Assertion; | |
| deep: Deep; | |
| ordered: Ordered; | |
| nested: Nested; | |
| own: Own; | |
| any: KeyFilter; | |
| all: KeyFilter; | |
| a: Assertion; | |
| an: Assertion; | |
| include: Include; | |
| includes: Include; | |
| contain: Include; | |
| contains: Include; | |
| ok: Assertion; | |
| true: Assertion; | |
| false: Assertion; | |
| null: Assertion; | |
| undefined: Assertion; | |
| NaN: Assertion; | |
| exist: Assertion; | |
| empty: Assertion; | |
| arguments: Assertion; | |
| Arguments: Assertion; | |
| finite: Assertion; | |
| equal: Equal; | |
| equals: Equal; | |
| eq: Equal; | |
| eql: Equal; | |
| eqls: Equal; | |
| property: Property; | |
| ownProperty: Property; | |
| haveOwnProperty: Property; | |
| ownPropertyDescriptor: OwnPropertyDescriptor; | |
| haveOwnPropertyDescriptor: OwnPropertyDescriptor; | |
| length: Length; | |
| lengthOf: Length; | |
| match: Match; | |
| matches: Match; | |
| string(string: string, message?: string): Assertion; | |
| keys: Keys; | |
| key(string: string): Assertion; | |
| throw: Throw; | |
| throws: Throw; | |
| Throw: Throw; | |
| respondTo: RespondTo; | |
| respondsTo: RespondTo; | |
| itself: Assertion; | |
| satisfy: Satisfy; | |
| satisfies: Satisfy; | |
| closeTo: CloseTo; | |
| approximately: CloseTo; | |
| members: Members; | |
| increase: PropertyChange; | |
| increases: PropertyChange; | |
| decrease: PropertyChange; | |
| decreases: PropertyChange; | |
| change: PropertyChange; | |
| changes: PropertyChange; | |
| extensible: Assertion; | |
| sealed: Assertion; | |
| frozen: Assertion; | |
| oneOf: OneOf; | |
| } | |
| interface LanguageChains { | |
| to: Assertion; | |
| be: Assertion; | |
| been: Assertion; | |
| is: Assertion; | |
| that: Assertion; | |
| which: Assertion; | |
| and: Assertion; | |
| has: Assertion; | |
| have: Assertion; | |
| with: Assertion; | |
| at: Assertion; | |
| of: Assertion; | |
| same: Assertion; | |
| but: Assertion; | |
| does: Assertion; | |
| } | |
| interface NumericComparison { | |
| above: NumberComparer; | |
| gt: NumberComparer; | |
| greaterThan: NumberComparer; | |
| least: NumberComparer; | |
| gte: NumberComparer; | |
| greaterThanOrEqual: NumberComparer; | |
| below: NumberComparer; | |
| lt: NumberComparer; | |
| lessThan: NumberComparer; | |
| most: NumberComparer; | |
| lte: NumberComparer; | |
| lessThanOrEqual: NumberComparer; | |
| within(start: number, finish: number, message?: string): Assertion; | |
| within(start: Date, finish: Date, message?: string): Assertion; | |
| } | |
| interface NumberComparer { | |
| (value: number | Date, message?: string): Assertion; | |
| } | |
| interface TypeComparison { | |
| (type: string, message?: string): Assertion; | |
| instanceof: InstanceOf; | |
| instanceOf: InstanceOf; | |
| } | |
| interface InstanceOf { | |
| (constructor: any, message?: string): Assertion; | |
| } | |
| interface CloseTo { | |
| (expected: number, delta: number, message?: string): Assertion; | |
| } | |
| interface Nested { | |
| include: Include; | |
| includes: Include; | |
| contain: Include; | |
| contains: Include; | |
| property: Property; | |
| members: Members; | |
| } | |
| interface Own { | |
| include: Include; | |
| includes: Include; | |
| contain: Include; | |
| contains: Include; | |
| property: Property; | |
| } | |
| interface Deep extends KeyFilter { | |
| be: Assertion; | |
| equal: Equal; | |
| equals: Equal; | |
| eq: Equal; | |
| include: Include; | |
| includes: Include; | |
| contain: Include; | |
| contains: Include; | |
| property: Property; | |
| ordered: Ordered; | |
| nested: Nested; | |
| oneOf: OneOf; | |
| own: Own; | |
| } | |
| interface Ordered { | |
| members: Members; | |
| } | |
| interface KeyFilter { | |
| keys: Keys; | |
| members: Members; | |
| } | |
| interface Equal { | |
| (value: any, message?: string): Assertion; | |
| } | |
| interface Property { | |
| (name: string | symbol, value: any, message?: string): Assertion; | |
| (name: string | symbol, message?: string): Assertion; | |
| } | |
| interface OwnPropertyDescriptor { | |
| (name: string | symbol, descriptor: PropertyDescriptor, message?: string): Assertion; | |
| (name: string | symbol, message?: string): Assertion; | |
| } | |
| interface Length extends LanguageChains, NumericComparison { | |
| (length: number, message?: string): Assertion; | |
| } | |
| interface Include { | |
| (value: any, message?: string): Assertion; | |
| keys: Keys; | |
| deep: Deep; | |
| ordered: Ordered; | |
| members: Members; | |
| any: KeyFilter; | |
| all: KeyFilter; | |
| oneOf: OneOf; | |
| } | |
| interface OneOf { | |
| (list: ReadonlyArray<unknown>, message?: string): Assertion; | |
| } | |
| interface Match { | |
| (regexp: RegExp, message?: string): Assertion; | |
| } | |
| interface Keys { | |
| (...keys: string[]): Assertion; | |
| (keys: ReadonlyArray<any> | Object): Assertion; | |
| } | |
| interface Throw { | |
| (expected?: string | RegExp, message?: string): Assertion; | |
| (constructor: Error | Function, expected?: string | RegExp, message?: string): Assertion; | |
| } | |
| interface RespondTo { | |
| (method: string, message?: string): Assertion; | |
| } | |
| interface Satisfy { | |
| (matcher: Function, message?: string): Assertion; | |
| } | |
| interface Members { | |
| (set: ReadonlyArray<any>, message?: string): Assertion; | |
| } | |
| interface PropertyChange { | |
| (object: Object, property?: string, message?: string): DeltaAssertion; | |
| } | |
| interface DeltaAssertion extends Assertion { | |
| by(delta: number, msg?: string): Assertion; | |
| } | |
| export interface Assert { | |
| /** | |
| * @param expression Expression to test for truthiness. | |
| * @param message Message to display on error. | |
| */ | |
| (expression: any, message?: string): asserts expression; | |
| /** | |
| * Throws a failure. | |
| * | |
| * @param message Message to display on error. | |
| * @remarks Node.js assert module-compatible. | |
| */ | |
| fail(message?: string): never; | |
| /** | |
| * Throws a failure. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| * @param operator Comparison operator, if not strict equality. | |
| * @remarks Node.js assert module-compatible. | |
| */ | |
| fail<T>(actual: T, expected: T, message?: string, operator?: Operator): never; | |
| /** | |
| * Asserts that object is truthy. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param message Message to display on error. | |
| */ | |
| isOk<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that object is truthy. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param message Message to display on error. | |
| */ | |
| ok<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that object is falsy. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param message Message to display on error. | |
| */ | |
| isNotOk<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that object is falsy. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param message Message to display on error. | |
| */ | |
| notOk<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts non-strict equality (==) of actual and expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| equal<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts non-strict inequality (!=) of actual and expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| notEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts strict equality (===) of actual and expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| strictEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts strict inequality (!==) of actual and expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| notStrictEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts that actual is deeply equal to expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| deepEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts that actual is not deeply equal to expected. | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Alias to deepEqual | |
| * | |
| * T Type of the objects. | |
| * @param actual Actual value. | |
| * @param expected Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| deepStrictEqual<T>(actual: T, expected: T, message?: string): void; | |
| /** | |
| * Asserts valueToCheck is strictly greater than (>) valueToBeAbove. | |
| * | |
| * @param valueToCheck Actual value. | |
| * @param valueToBeAbove Minimum Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| isAbove(valueToCheck: number, valueToBeAbove: number, message?: string): void; | |
| /** | |
| * Asserts valueToCheck is greater than or equal to (>=) valueToBeAtLeast. | |
| * | |
| * @param valueToCheck Actual value. | |
| * @param valueToBeAtLeast Minimum Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| isAtLeast(valueToCheck: number, valueToBeAtLeast: number, message?: string): void; | |
| /** | |
| * Asserts valueToCheck is strictly less than (<) valueToBeBelow. | |
| * | |
| * @param valueToCheck Actual value. | |
| * @param valueToBeBelow Minimum Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| isBelow(valueToCheck: number, valueToBeBelow: number, message?: string): void; | |
| /** | |
| * Asserts valueToCheck is less than or equal to (<=) valueToBeAtMost. | |
| * | |
| * @param valueToCheck Actual value. | |
| * @param valueToBeAtMost Minimum Potential expected value. | |
| * @param message Message to display on error. | |
| */ | |
| isAtMost(valueToCheck: number, valueToBeAtMost: number, message?: string): void; | |
| /** | |
| * Asserts that value is true. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isTrue<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is false. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isFalse<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not true. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotTrue<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not false. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotFalse<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is null. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNull<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not null. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotNull<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is NaN. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNaN<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not NaN. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotNaN<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that the target is neither null nor undefined. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| exists<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that the target is either null or undefined. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| notExists<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is undefined. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isUndefined<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not undefined. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isDefined<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is a function. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isFunction<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not a function. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotFunction<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is an object of type 'Object' | |
| * (as revealed by Object.prototype.toString). | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| * @remarks The assertion does not match subclassed objects. | |
| */ | |
| isObject<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not an object of type 'Object' | |
| * (as revealed by Object.prototype.toString). | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotObject<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is an array. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isArray<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not an array. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotArray<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is a string. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isString<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not a string. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotString<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is a number. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNumber<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not a number. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotNumber<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is a finite number. | |
| * Unlike `.isNumber`, this will fail for `NaN` and `Infinity`. | |
| * | |
| * T Type of value | |
| * @param value Actual value | |
| * @param message Message to display on error. | |
| */ | |
| isFinite<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is a boolean. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isBoolean<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value is not a boolean. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotBoolean<T>(value: T, message?: string): void; | |
| /** | |
| * Asserts that value's type is name, as determined by Object.prototype.toString. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param name Potential expected type name of value. | |
| * @param message Message to display on error. | |
| */ | |
| typeOf<T>(value: T, name: string, message?: string): void; | |
| /** | |
| * Asserts that value's type is not name, as determined by Object.prototype.toString. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param name Potential expected type name of value. | |
| * @param message Message to display on error. | |
| */ | |
| notTypeOf<T>(value: T, name: string, message?: string): void; | |
| /** | |
| * Asserts that value is an instance of constructor. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param constructor Potential expected contructor of value. | |
| * @param message Message to display on error. | |
| */ | |
| instanceOf<T>(value: T, constructor: Function, message?: string): void; | |
| /** | |
| * Asserts that value is not an instance of constructor. | |
| * | |
| * T Type of value. | |
| * @param value Actual value. | |
| * @param constructor Potential expected contructor of value. | |
| * @param message Message to display on error. | |
| */ | |
| notInstanceOf<T>(value: T, type: Function, message?: string): void; | |
| /** | |
| * Asserts that haystack includes needle. | |
| * | |
| * @param haystack Container string. | |
| * @param needle Potential substring of haystack. | |
| * @param message Message to display on error. | |
| */ | |
| include(haystack: string, needle: string, message?: string): void; | |
| /** | |
| * Asserts that haystack includes needle. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack Container array, set or map. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| include<T>( | |
| haystack: ReadonlyArray<T> | ReadonlySet<T> | ReadonlyMap<any, T>, | |
| needle: T, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that haystack includes needle. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack WeakSet container. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| include<T extends object>(haystack: WeakSet<T>, needle: T, message?: string): void; | |
| /** | |
| * Asserts that haystack includes needle. | |
| * | |
| * T Type of haystack. | |
| * @param haystack Object. | |
| * @param needle Potential subset of the haystack's properties. | |
| * @param message Message to display on error. | |
| */ | |
| include<T>(haystack: T, needle: Partial<T>, message?: string): void; | |
| /** | |
| * Asserts that haystack does not includes needle. | |
| * | |
| * @param haystack Container string. | |
| * @param needle Potential substring of haystack. | |
| * @param message Message to display on error. | |
| */ | |
| notInclude(haystack: string, needle: string, message?: string): void; | |
| /** | |
| * Asserts that haystack does not includes needle. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack Container array, set or map. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| notInclude<T>( | |
| haystack: ReadonlyArray<T> | ReadonlySet<T> | ReadonlyMap<any, T>, | |
| needle: T, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that haystack does not includes needle. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack WeakSet container. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| notInclude<T extends object>(haystack: WeakSet<T>, needle: T, message?: string): void; | |
| /** | |
| * Asserts that haystack does not includes needle. | |
| * | |
| * T Type of haystack. | |
| * @param haystack Object. | |
| * @param needle Potential subset of the haystack's properties. | |
| * @param message Message to display on error. | |
| */ | |
| notInclude<T>(haystack: T, needle: Partial<T>, message?: string): void; | |
| /** | |
| * Asserts that haystack includes needle. Deep equality is used. | |
| * | |
| * @param haystack Container string. | |
| * @param needle Potential substring of haystack. | |
| * @param message Message to display on error. | |
| * | |
| * @deprecated Does not have any effect on string. Use {@link Assert#include} instead. | |
| */ | |
| deepInclude(haystack: string, needle: string, message?: string): void; | |
| /** | |
| * Asserts that haystack includes needle. Deep equality is used. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack Container array, set or map. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| deepInclude<T>( | |
| haystack: ReadonlyArray<T> | ReadonlySet<T> | ReadonlyMap<any, T>, | |
| needle: T, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that haystack does not includes needle. | |
| * | |
| * T Type of haystack. | |
| * @param haystack Object. | |
| * @param needle Potential subset of the haystack's properties. | |
| * @param message Message to display on error. | |
| */ | |
| deepInclude<T>(haystack: T, needle: T extends WeakSet<any> ? never : Partial<T>, message?: string): void; | |
| /** | |
| * Asserts that haystack does not includes needle. Deep equality is used. | |
| * | |
| * @param haystack Container string. | |
| * @param needle Potential substring of haystack. | |
| * @param message Message to display on error. | |
| * | |
| * @deprecated Does not have any effect on string. Use {@link Assert#notInclude} instead. | |
| */ | |
| notDeepInclude(haystack: string, needle: string, message?: string): void; | |
| /** | |
| * Asserts that haystack does not includes needle. Deep equality is used. | |
| * | |
| * T Type of values in haystack. | |
| * @param haystack Container array, set or map. | |
| * @param needle Potential value contained in haystack. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepInclude<T>( | |
| haystack: ReadonlyArray<T> | ReadonlySet<T> | ReadonlyMap<any, T>, | |
| needle: T, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that haystack does not includes needle. Deep equality is used. | |
| * | |
| * T Type of haystack. | |
| * @param haystack Object. | |
| * @param needle Potential subset of the haystack's properties. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepInclude<T>(haystack: T, needle: T extends WeakSet<any> ? never : Partial<T>, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object. | |
| * | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. | |
| * Can be used to assert the inclusion of a subset of properties in an object. | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| nestedInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object. | |
| * | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. | |
| * Can be used to assert the inclusion of a subset of properties in an object. | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| notNestedInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while checking for deep equality | |
| * | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. | |
| * Can be used to assert the inclusion of a subset of properties in an object. | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| deepNestedInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ does not include ‘needle’. Can be used to assert the absence of a subset of properties in an object while checking for deep equality. | |
| * | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes.Asserts that ‘haystack’ includes ‘needle’. | |
| * Can be used to assert the inclusion of a subset of properties in an object. | |
| * Enables the use of dot- and bracket-notation for referencing nested properties. | |
| * ‘[]’ and ‘.’ in property names can be escaped using double backslashes. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| notDeepNestedInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| ownInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| notOwnInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the inclusion of a subset of properties in an object while ignoring inherited properties and checking for deep | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| deepOwnInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that ‘haystack’ includes ‘needle’. Can be used to assert the absence of a subset of properties in an object while ignoring inherited properties and checking for deep equality. | |
| * | |
| * @param haystack | |
| * @param needle | |
| * @param message Message to display on error. | |
| */ | |
| notDeepOwnInclude(haystack: any, needle: any, message?: string): void; | |
| /** | |
| * Asserts that value matches the regular expression regexp. | |
| * | |
| * @param value Actual value. | |
| * @param regexp Potential match of value. | |
| * @param message Message to display on error. | |
| */ | |
| match(value: string, regexp: RegExp, message?: string): void; | |
| /** | |
| * Asserts that value does not match the regular expression regexp. | |
| * | |
| * @param value Actual value. | |
| * @param regexp Potential match of value. | |
| * @param message Message to display on error. | |
| */ | |
| notMatch(expected: any, regexp: RegExp, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property. | |
| * | |
| * T Type of object. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param message Message to display on error. | |
| */ | |
| property<T>(object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property. | |
| * | |
| * T Type of object. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param message Message to display on error. | |
| */ | |
| notProperty<T>(object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property, which can be a string | |
| * using dot- and bracket-notation for deep reference. | |
| * | |
| * T Type of object. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param message Message to display on error. | |
| */ | |
| deepProperty<T>(object: T, property: string, message?: string): void; | |
| /** | |
| * Asserts that object does not have a property named by property, which can be a | |
| * string using dot- and bracket-notation for deep reference. | |
| * | |
| * T Type of object. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepProperty<T>(object: T, property: string, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property with value given by value. | |
| * | |
| * T Type of object. | |
| * V Type of value. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param value Potential expected property value. | |
| * @param message Message to display on error. | |
| */ | |
| propertyVal<T, V>(object: T, property: string, /* keyof T */ value: V, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property with value given by value. | |
| * | |
| * T Type of object. | |
| * V Type of value. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param value Potential expected property value. | |
| * @param message Message to display on error. | |
| */ | |
| notPropertyVal<T, V>(object: T, property: string, /* keyof T */ value: V, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property, which can be a string | |
| * using dot- and bracket-notation for deep reference. | |
| * | |
| * T Type of object. | |
| * V Type of value. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param value Potential expected property value. | |
| * @param message Message to display on error. | |
| */ | |
| deepPropertyVal<T, V>(object: T, property: string, value: V, message?: string): void; | |
| /** | |
| * Asserts that object does not have a property named by property, which can be a | |
| * string using dot- and bracket-notation for deep reference. | |
| * | |
| * T Type of object. | |
| * V Type of value. | |
| * @param object Container object. | |
| * @param property Potential contained property of object. | |
| * @param value Potential expected property value. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepPropertyVal<T, V>(object: T, property: string, value: V, message?: string): void; | |
| /** | |
| * Asserts that object has a length property with the expected value. | |
| * | |
| * T Type of object. | |
| * @param object Container object. | |
| * @param length Potential expected length of object. | |
| * @param message Message to display on error. | |
| */ | |
| lengthOf<T extends { readonly length?: number | undefined }>(object: T, length: number, message?: string): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param ignored Ignored parameter. | |
| * @param message Message to display on error. | |
| */ | |
| throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errorLike Expected error constructor or error instance. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param message Message to display on error. | |
| */ | |
| throw( | |
| fn: () => void, | |
| errorLike?: ErrorConstructor | Error | null, | |
| errMsgMatcher?: RegExp | string | null, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param ignored Ignored parameter. | |
| * @param message Message to display on error. | |
| */ | |
| throws(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errorLike Expected error constructor or error instance. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param message Message to display on error. | |
| */ | |
| throws( | |
| fn: () => void, | |
| errorLike?: ErrorConstructor | Error | null, | |
| errMsgMatcher?: RegExp | string | null, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param ignored Ignored parameter. | |
| * @param message Message to display on error. | |
| */ | |
| Throw(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; | |
| /** | |
| * Asserts that fn will throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errorLike Expected error constructor or error instance. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param message Message to display on error. | |
| */ | |
| Throw( | |
| fn: () => void, | |
| errorLike?: ErrorConstructor | Error | null, | |
| errMsgMatcher?: RegExp | string | null, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that fn will not throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param ignored Ignored parameter. | |
| * @param message Message to display on error. | |
| */ | |
| doesNotThrow(fn: () => void, errMsgMatcher?: RegExp | string, ignored?: any, message?: string): void; | |
| /** | |
| * Asserts that fn will not throw an error. | |
| * | |
| * @param fn Function that may throw. | |
| * @param errorLike Expected error constructor or error instance. | |
| * @param errMsgMatcher Expected error message matcher. | |
| * @param message Message to display on error. | |
| */ | |
| doesNotThrow( | |
| fn: () => void, | |
| errorLike?: ErrorConstructor | Error | null, | |
| errMsgMatcher?: RegExp | string | null, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Compares two values using operator. | |
| * | |
| * @param val1 Left value during comparison. | |
| * @param operator Comparison operator. | |
| * @param val2 Right value during comparison. | |
| * @param message Message to display on error. | |
| */ | |
| operator(val1: OperatorComparable, operator: Operator, val2: OperatorComparable, message?: string): void; | |
| /** | |
| * Asserts that the target is equal to expected, to within a +/- delta range. | |
| * | |
| * @param actual Actual value | |
| * @param expected Potential expected value. | |
| * @param delta Maximum differenced between values. | |
| * @param message Message to display on error. | |
| */ | |
| closeTo(actual: number, expected: number, delta: number, message?: string): void; | |
| /** | |
| * Asserts that the target is equal to expected, to within a +/- delta range. | |
| * | |
| * @param actual Actual value | |
| * @param expected Potential expected value. | |
| * @param delta Maximum differenced between values. | |
| * @param message Message to display on error. | |
| */ | |
| approximately(act: number, exp: number, delta: number, message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 have the same members. Order is not take into account. | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| sameMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 have the same members using deep equality checking. | |
| * Order is not take into account. | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| sameDeepMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 have the same members in the same order. | |
| * Uses a strict equality check (===). | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| sameOrderedMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 don’t have the same members in the same order. | |
| * Uses a strict equality check (===). | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| notSameOrderedMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 have the same members in the same order. | |
| * Uses a deep equality check. | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| sameDeepOrderedMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that set1 and set2 don’t have the same members in the same order. | |
| * Uses a deep equality check. | |
| * | |
| * T Type of set values. | |
| * @param set1 Actual set of values. | |
| * @param set2 Potential expected set of values. | |
| * @param message Message to display on error. | |
| */ | |
| notSameDeepOrderedMembers<T>(set1: T[], set2: T[], message?: string): void; | |
| /** | |
| * Asserts that subset is included in superset in the same order beginning with the first element in superset. | |
| * Uses a strict equality check (===). | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| includeOrderedMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. | |
| * Uses a strict equality check (===). | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| notIncludeOrderedMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset is included in superset in the same order beginning with the first element in superset. | |
| * Uses a deep equality check. | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| includeDeepOrderedMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset isn’t included in superset in the same order beginning with the first element in superset. | |
| * Uses a deep equality check. | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| notIncludeDeepOrderedMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset is included in superset. Order is not take into account. | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| includeMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset isn’t included in superset in any order. | |
| * Uses a strict equality check (===). Duplicates are ignored. | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential not contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| notIncludeMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that subset is included in superset using deep equality checking. | |
| * Order is not take into account. | |
| * | |
| * T Type of set values. | |
| * @param superset Actual set of values. | |
| * @param subset Potential contained set of values. | |
| * @param message Message to display on error. | |
| */ | |
| includeDeepMembers<T>(superset: T[], subset: T[], message?: string): void; | |
| /** | |
| * Asserts that non-object, non-array value inList appears in the flat array list. | |
| * | |
| * T Type of list values. | |
| * @param inList Value expected to be in the list. | |
| * @param list List of values. | |
| * @param message Message to display on error. | |
| */ | |
| oneOf<T>(inList: T, list: T[], message?: string): void; | |
| /** | |
| * Asserts that a function changes the value of a property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected to be modified. | |
| * @param message Message to display on error. | |
| */ | |
| changes<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that a function does not change the value of a property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected not to be modified. | |
| * @param message Message to display on error. | |
| */ | |
| doesNotChange<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that a function increases an object property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected to be increased. | |
| * @param message Message to display on error. | |
| */ | |
| increases<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that a function does not increase an object property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected not to be increased. | |
| * @param message Message to display on error. | |
| */ | |
| doesNotIncrease<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that a function decreases an object property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected to be decreased. | |
| * @param message Message to display on error. | |
| */ | |
| decreases<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts that a function does not decrease an object property. | |
| * | |
| * T Type of object. | |
| * @param modifier Function to run. | |
| * @param object Container object. | |
| * @param property Property of object expected not to be decreased. | |
| * @param message Message to display on error. | |
| */ | |
| doesNotDecrease<T>(modifier: Function, object: T, property: string, /* keyof T */ message?: string): void; | |
| /** | |
| * Asserts if value is not a false value, and throws if it is a true value. | |
| * | |
| * T Type of object. | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| * @remarks This is added to allow for chai to be a drop-in replacement for | |
| * Node’s assert class. | |
| */ | |
| ifError<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is extensible (can have new properties added to it). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isExtensible<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is extensible (can have new properties added to it). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| extensible<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not extensible. | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotExtensible<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not extensible. | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| notExtensible<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is sealed (can have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isSealed<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is sealed (can have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| sealed<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not sealed. | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotSealed<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not sealed. | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| notSealed<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is frozen (cannot have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isFrozen<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is frozen (cannot have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| frozen<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not frozen (cannot have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isNotFrozen<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that object is not frozen (cannot have new properties added to it | |
| * and its existing properties cannot be removed). | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| notFrozen<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that the target does not contain any values. For arrays and | |
| * strings, it checks the length property. For Map and Set instances, it | |
| * checks the size property. For non-function objects, it gets the count | |
| * of own enumerable string keys. | |
| * | |
| * T Type of object | |
| * @param object Actual value. | |
| * @param message Message to display on error. | |
| */ | |
| isEmpty<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that the target contains values. For arrays and strings, it checks | |
| * the length property. For Map and Set instances, it checks the size property. | |
| * For non-function objects, it gets the count of own enumerable string keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param message Message to display on error. | |
| */ | |
| isNotEmpty<T>(object: T, message?: string): void; | |
| /** | |
| * Asserts that `object` has at least one of the `keys` provided. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| hasAnyKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` has all and only all of the `keys` provided. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| hasAllKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` has all of the `keys` provided but may have more keys not listed. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| containsAllKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` has none of the `keys` provided. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| doesNotHaveAnyKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` does not have at least one of the `keys` provided. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| doesNotHaveAllKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` has at least one of the `keys` provided. | |
| * Since Sets and Maps can have objects as keys you can use this assertion to perform | |
| * a deep comparison. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| hasAnyDeepKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` has all and only all of the `keys` provided. | |
| * Since Sets and Maps can have objects as keys you can use this assertion to perform | |
| * a deep comparison. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| hasAllDeepKeys<T>(object: T, keys: Array<Object | string> | { [key: string]: any }, message?: string): void; | |
| /** | |
| * Asserts that `object` contains all of the `keys` provided. | |
| * Since Sets and Maps can have objects as keys you can use this assertion to perform | |
| * a deep comparison. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| containsAllDeepKeys<T>( | |
| object: T, | |
| keys: Array<Object | string> | { [key: string]: any }, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that `object` contains all of the `keys` provided. | |
| * Since Sets and Maps can have objects as keys you can use this assertion to perform | |
| * a deep comparison. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| doesNotHaveAnyDeepKeys<T>( | |
| object: T, | |
| keys: Array<Object | string> | { [key: string]: any }, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that `object` contains all of the `keys` provided. | |
| * Since Sets and Maps can have objects as keys you can use this assertion to perform | |
| * a deep comparison. | |
| * You can also provide a single object instead of a `keys` array and its keys | |
| * will be used as the expected set of keys. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param keys Keys to check | |
| * @param message Message to display on error. | |
| */ | |
| doesNotHaveAllDeepKeys<T>( | |
| object: T, | |
| keys: Array<Object | string> | { [key: string]: any }, | |
| message?: string, | |
| ): void; | |
| /** | |
| * Asserts that object has a direct or inherited property named by property, | |
| * which can be a string using dot- and bracket-notation for nested reference. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param message Message to display on error. | |
| */ | |
| nestedProperty<T>(object: T, property: string, message?: string): void; | |
| /** | |
| * Asserts that object does not have a property named by property, | |
| * which can be a string using dot- and bracket-notation for nested reference. | |
| * The property cannot exist on the object nor anywhere in its prototype chain. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param message Message to display on error. | |
| */ | |
| notNestedProperty<T>(object: T, property: string, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property with value given by value. | |
| * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param value Value to test. | |
| * @param message Message to display on error. | |
| */ | |
| nestedPropertyVal<T>(object: T, property: string, value: any, message?: string): void; | |
| /** | |
| * Asserts that object does not have a property named by property with value given by value. | |
| * property can use dot- and bracket-notation for nested reference. Uses a strict equality check (===). | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param value Value to test. | |
| * @param message Message to display on error. | |
| */ | |
| notNestedPropertyVal<T>(object: T, property: string, value: any, message?: string): void; | |
| /** | |
| * Asserts that object has a property named by property with a value given by value. | |
| * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param value Value to test. | |
| * @param message Message to display on error. | |
| */ | |
| deepNestedPropertyVal<T>(object: T, property: string, value: any, message?: string): void; | |
| /** | |
| * Asserts that object does not have a property named by property with value given by value. | |
| * property can use dot- and bracket-notation for nested reference. Uses a deep equality check. | |
| * | |
| * T Type of object. | |
| * @param object Object to test. | |
| * @param property Property to test. | |
| * @param value Value to test. | |
| * @param message Message to display on error. | |
| */ | |
| notDeepNestedPropertyVal<T>(object: T, property: string, value: any, message?: string): void; | |
| } | |
| export interface Config { | |
| /** | |
| * Default: false | |
| */ | |
| includeStack: boolean; | |
| /** | |
| * Default: true | |
| */ | |
| showDiff: boolean; | |
| /** | |
| * Default: 40 | |
| */ | |
| truncateThreshold: number; | |
| /** | |
| * Default: true | |
| */ | |
| useProxy: boolean; | |
| /** | |
| * Default: ['then', 'catch', 'inspect', 'toJSON'] | |
| */ | |
| proxyExcludedKeys: string[]; | |
| } | |
| export class AssertionError { | |
| constructor(message: string, _props?: any, ssf?: Function); | |
| name: string; | |
| message: string; | |
| showDiff: boolean; | |
| stack: string; | |
| } | |
| } | |
| declare const chai: Chai.ChaiStatic; | |
| declare module "chai" { | |
| export = chai; | |
| } | |
| // interface Object { | |
| // should: Chai.Assertion; | |
| // } | |