@vitest/expect 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -80,69 +80,69 @@ interface RawMatcherFn<T extends MatcherState = MatcherState> {
80
80
  type MatchersObject<T extends MatcherState = MatcherState> = Record<string, RawMatcherFn<T>>;
81
81
  interface ExpectStatic extends Chai.ExpectStatic, AsymmetricMatchersContaining {
82
82
  <T>(actual: T, message?: string): Assertion<T>;
83
- unreachable(message?: string): never;
84
- soft<T>(actual: T, message?: string): Assertion<T>;
85
- extend(expects: MatchersObject): void;
86
- addEqualityTesters(testers: Array<Tester>): void;
87
- assertions(expected: number): void;
88
- hasAssertions(): void;
89
- anything(): any;
90
- any(constructor: unknown): any;
91
- getState(): MatcherState;
92
- setState(state: Partial<MatcherState>): void;
83
+ unreachable: (message?: string) => never;
84
+ soft: <T>(actual: T, message?: string) => Assertion<T>;
85
+ extend: (expects: MatchersObject) => void;
86
+ addEqualityTesters: (testers: Array<Tester>) => void;
87
+ assertions: (expected: number) => void;
88
+ hasAssertions: () => void;
89
+ anything: () => any;
90
+ any: (constructor: unknown) => any;
91
+ getState: () => MatcherState;
92
+ setState: (state: Partial<MatcherState>) => void;
93
93
  not: AsymmetricMatchersContaining;
94
94
  }
95
95
  interface AsymmetricMatchersContaining {
96
- stringContaining(expected: string): any;
97
- objectContaining<T = any>(expected: T): any;
98
- arrayContaining<T = unknown>(expected: Array<T>): any;
99
- stringMatching(expected: string | RegExp): any;
100
- closeTo(expected: number, precision?: number): any;
96
+ stringContaining: (expected: string) => any;
97
+ objectContaining: <T = any>(expected: T) => any;
98
+ arrayContaining: <T = unknown>(expected: Array<T>) => any;
99
+ stringMatching: (expected: string | RegExp) => any;
100
+ closeTo: (expected: number, precision?: number) => any;
101
101
  }
102
102
  interface JestAssertion<T = any> extends jest.Matchers<void, T> {
103
- toEqual<E>(expected: E): void;
104
- toStrictEqual<E>(expected: E): void;
105
- toBe<E>(expected: E): void;
106
- toMatch(expected: string | RegExp): void;
107
- toMatchObject<E extends {} | any[]>(expected: E): void;
108
- toContain<E>(item: E): void;
109
- toContainEqual<E>(item: E): void;
110
- toBeTruthy(): void;
111
- toBeFalsy(): void;
112
- toBeGreaterThan(num: number | bigint): void;
113
- toBeGreaterThanOrEqual(num: number | bigint): void;
114
- toBeLessThan(num: number | bigint): void;
115
- toBeLessThanOrEqual(num: number | bigint): void;
116
- toBeNaN(): void;
117
- toBeUndefined(): void;
118
- toBeNull(): void;
119
- toBeDefined(): void;
120
- toBeInstanceOf<E>(expected: E): void;
121
- toBeCalledTimes(times: number): void;
122
- toHaveLength(length: number): void;
123
- toHaveProperty<E>(property: string | (string | number)[], value?: E): void;
124
- toBeCloseTo(number: number, numDigits?: number): void;
125
- toHaveBeenCalledTimes(times: number): void;
126
- toHaveBeenCalled(): void;
127
- toBeCalled(): void;
128
- toHaveBeenCalledWith<E extends any[]>(...args: E): void;
129
- toBeCalledWith<E extends any[]>(...args: E): void;
130
- toHaveBeenNthCalledWith<E extends any[]>(n: number, ...args: E): void;
131
- nthCalledWith<E extends any[]>(nthCall: number, ...args: E): void;
132
- toHaveBeenLastCalledWith<E extends any[]>(...args: E): void;
133
- lastCalledWith<E extends any[]>(...args: E): void;
134
- toThrow(expected?: string | Constructable | RegExp | Error): void;
135
- toThrowError(expected?: string | Constructable | RegExp | Error): void;
136
- toReturn(): void;
137
- toHaveReturned(): void;
138
- toReturnTimes(times: number): void;
139
- toHaveReturnedTimes(times: number): void;
140
- toReturnWith<E>(value: E): void;
141
- toHaveReturnedWith<E>(value: E): void;
142
- toHaveLastReturnedWith<E>(value: E): void;
143
- lastReturnedWith<E>(value: E): void;
144
- toHaveNthReturnedWith<E>(nthCall: number, value: E): void;
145
- nthReturnedWith<E>(nthCall: number, value: E): void;
103
+ toEqual: <E>(expected: E) => void;
104
+ toStrictEqual: <E>(expected: E) => void;
105
+ toBe: <E>(expected: E) => void;
106
+ toMatch: (expected: string | RegExp) => void;
107
+ toMatchObject: <E extends {} | any[]>(expected: E) => void;
108
+ toContain: <E>(item: E) => void;
109
+ toContainEqual: <E>(item: E) => void;
110
+ toBeTruthy: () => void;
111
+ toBeFalsy: () => void;
112
+ toBeGreaterThan: (num: number | bigint) => void;
113
+ toBeGreaterThanOrEqual: (num: number | bigint) => void;
114
+ toBeLessThan: (num: number | bigint) => void;
115
+ toBeLessThanOrEqual: (num: number | bigint) => void;
116
+ toBeNaN: () => void;
117
+ toBeUndefined: () => void;
118
+ toBeNull: () => void;
119
+ toBeDefined: () => void;
120
+ toBeInstanceOf: <E>(expected: E) => void;
121
+ toBeCalledTimes: (times: number) => void;
122
+ toHaveLength: (length: number) => void;
123
+ toHaveProperty: <E>(property: string | (string | number)[], value?: E) => void;
124
+ toBeCloseTo: (number: number, numDigits?: number) => void;
125
+ toHaveBeenCalledTimes: (times: number) => void;
126
+ toHaveBeenCalled: () => void;
127
+ toBeCalled: () => void;
128
+ toHaveBeenCalledWith: <E extends any[]>(...args: E) => void;
129
+ toBeCalledWith: <E extends any[]>(...args: E) => void;
130
+ toHaveBeenNthCalledWith: <E extends any[]>(n: number, ...args: E) => void;
131
+ nthCalledWith: <E extends any[]>(nthCall: number, ...args: E) => void;
132
+ toHaveBeenLastCalledWith: <E extends any[]>(...args: E) => void;
133
+ lastCalledWith: <E extends any[]>(...args: E) => void;
134
+ toThrow: (expected?: string | Constructable | RegExp | Error) => void;
135
+ toThrowError: (expected?: string | Constructable | RegExp | Error) => void;
136
+ toReturn: () => void;
137
+ toHaveReturned: () => void;
138
+ toReturnTimes: (times: number) => void;
139
+ toHaveReturnedTimes: (times: number) => void;
140
+ toReturnWith: <E>(value: E) => void;
141
+ toHaveReturnedWith: <E>(value: E) => void;
142
+ toHaveLastReturnedWith: <E>(value: E) => void;
143
+ lastReturnedWith: <E>(value: E) => void;
144
+ toHaveNthReturnedWith: <E>(nthCall: number, value: E) => void;
145
+ nthReturnedWith: <E>(nthCall: number, value: E) => void;
146
146
  }
147
147
  type VitestAssertion<A, T> = {
148
148
  [K in keyof A]: A[K] extends Chai.Assertion ? Assertion<T> : A[K] extends (...args: any[]) => any ? A[K] : VitestAssertion<A[K], T>;
@@ -151,9 +151,9 @@ type Promisify<O> = {
151
151
  [K in keyof O]: O[K] extends (...args: infer A) => infer R ? O extends R ? Promisify<O[K]> : (...args: A) => Promise<R> : O[K];
152
152
  };
153
153
  interface Assertion<T = any> extends VitestAssertion<Chai.Assertion, T>, JestAssertion<T> {
154
- toBeTypeOf(expected: 'bigint' | 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined'): void;
155
- toHaveBeenCalledOnce(): void;
156
- toSatisfy<E>(matcher: (value: E) => boolean, message?: string): void;
154
+ toBeTypeOf: (expected: 'bigint' | 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined') => void;
155
+ toHaveBeenCalledOnce: () => void;
156
+ toSatisfy: <E>(matcher: (value: E) => boolean, message?: string) => void;
157
157
  resolves: Promisify<Assertion<T>>;
158
158
  rejects: Promisify<Assertion<T>>;
159
159
  }
@@ -165,10 +165,10 @@ declare global {
165
165
  }
166
166
 
167
167
  interface AsymmetricMatcherInterface {
168
- asymmetricMatch(other: unknown): boolean;
169
- toString(): string;
170
- getExpectedType?(): string;
171
- toAsymmetricMatcher?(): string;
168
+ asymmetricMatch: (other: unknown) => boolean;
169
+ toString: () => string;
170
+ getExpectedType?: () => string;
171
+ toAsymmetricMatcher?: () => string;
172
172
  }
173
173
  declare abstract class AsymmetricMatcher<T, State extends MatcherState = MatcherState> implements AsymmetricMatcherInterface {
174
174
  protected sample: T;
package/dist/index.js CHANGED
@@ -1276,8 +1276,7 @@ Number of calls: ${c().bold(spy.mock.calls.length)}
1276
1276
  `expected error to be instance of ${name}`,
1277
1277
  `expected error not to be instance of ${name}`,
1278
1278
  expected,
1279
- thrown,
1280
- false
1279
+ thrown
1281
1280
  );
1282
1281
  }
1283
1282
  if (expected instanceof Error) {
@@ -1295,9 +1294,8 @@ Number of calls: ${c().bold(spy.mock.calls.length)}
1295
1294
  thrown && matcher.asymmetricMatch(thrown),
1296
1295
  "expected error to match asymmetric matcher",
1297
1296
  "expected error not to match asymmetric matcher",
1298
- matcher.toString(),
1299
- thrown,
1300
- false
1297
+ matcher,
1298
+ thrown
1301
1299
  );
1302
1300
  }
1303
1301
  throw new Error(`"toThrow" expects string, RegExp, function, Error instance or asymmetric matcher, got "${typeof expected}"`);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/expect",
3
3
  "type": "module",
4
- "version": "1.2.1",
4
+ "version": "1.3.0",
5
5
  "description": "Jest's expect matchers as a Chai plugin",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -31,14 +31,14 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "chai": "^4.3.10",
34
- "@vitest/spy": "1.2.1",
35
- "@vitest/utils": "1.2.1"
34
+ "@vitest/spy": "1.3.0",
35
+ "@vitest/utils": "1.3.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/chai": "4.3.6",
39
39
  "picocolors": "^1.0.0",
40
40
  "rollup-plugin-copy": "^3.5.0",
41
- "@vitest/runner": "1.2.1"
41
+ "@vitest/runner": "1.3.0"
42
42
  },
43
43
  "scripts": {
44
44
  "build": "rimraf dist && rollup -c",