Skip to content

Commit b2e39c1

Browse files
authored
🤖 Merge PR DefinitelyTyped#71972 feat(chai): add containSubset by @perrin4869
1 parent 552bee0 commit b2e39c1

File tree

6 files changed

+29
-3
lines changed

6 files changed

+29
-3
lines changed

types/chai-as-promised/chai-as-promised-tests.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ thenableNum = chai.expect(thenableNum).to.eventually.have.ownProperty("foo");
1515
thenableNum = chai.expect(thenableNum).to.eventually.have.ownProperty(Symbol.for("bar"));
1616
thenableNum = chai.expect(thenableNum).to.eventually.have.ownPropertyDescriptor("foo");
1717
thenableNum = chai.expect(thenableNum).to.eventually.have.ownPropertyDescriptor(Symbol.for("bar"));
18+
thenableNum = chai.expect(thenableNum).to.eventually.containSubset({});
1819
thenableNum = chai.expect(thenableNum).to.become(3);
1920
thenableNum = chai.expect(thenableNum).to.be.fulfilled;
2021
thenableNum = chai.expect(thenableNum).to.be.rejected;
@@ -33,6 +34,7 @@ thenableNum = thenableNum.should.be.fulfilled;
3334
thenableNum = thenableNum.should.eventually.deep.equal(3);
3435
thenableNum = thenableNum.should.eventually.become(3);
3536
thenableNum = thenableNum.should.become(3);
37+
thenableNum = thenableNum.should.eventually.containSubset(3);
3638
thenableNum = thenableNum.should.be.rejected;
3739
thenableNum = thenableNum.should.be.rejectedWith(Error);
3840
thenableNum = thenableNum.should.be.rejectedWith("Error");

types/chai-as-promised/index.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ declare global {
5252
Arguments: PromisedAssertion;
5353
equal: PromisedEqual;
5454
equals: PromisedEqual;
55+
containSubset: PromisedContainSubset;
5556
eq: PromisedEqual;
5657
eql: PromisedEqual;
5758
eqls: PromisedEqual;
@@ -174,6 +175,10 @@ declare global {
174175
(value: any, message?: string): PromisedAssertion;
175176
}
176177

178+
interface PromisedContainSubset {
179+
(value: any): PromisedAssertion;
180+
}
181+
177182
interface PromisedProperty {
178183
(name: string | symbol, value?: any, message?: string): PromisedAssertion;
179184
}

types/chai-subset/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
"projects": [
66
"https://github.com/debitoor/chai-subset"
77
],
8-
"dependencies": {
9-
"@types/chai": "*"
8+
"peerDependencies": {
9+
"@types/chai": "<5.2.0"
1010
},
1111
"devDependencies": {
1212
"@types/chai-subset": "workspace:."

types/chai/chai-tests.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,11 @@ function equal() {
114114
should.equal(undefined, void (0));
115115
}
116116

117+
function containSubset() {
118+
expect({}).to.containSubset({});
119+
({}).should.containSubset({});
120+
}
121+
117122
function _typeof() {
118123
expect("test").to.be.a("string");
119124
"test".should.be.a("string");

types/chai/index.d.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ declare global {
195195
eq: Equal;
196196
eql: Equal;
197197
eqls: Equal;
198+
containSubset: ContainSubset;
198199
property: Property;
199200
ownProperty: Property;
200201
haveOwnProperty: Property;
@@ -329,6 +330,10 @@ declare global {
329330
(value: any, message?: string): Assertion;
330331
}
331332

333+
interface ContainSubset {
334+
(expected: any): Assertion;
335+
}
336+
332337
interface Property {
333338
(name: string | symbol, value: any, message?: string): Assertion;
334339
(name: string | symbol, message?: string): Assertion;
@@ -523,6 +528,15 @@ declare global {
523528
*/
524529
deepStrictEqual<T>(actual: T, expected: T, message?: string): void;
525530

531+
/**
532+
* Partially matches actual and expected.
533+
*
534+
* @param actual Actual value.
535+
* @param expected Potential subset of the value.
536+
* @param message Message to display on error.
537+
*/
538+
containSubset(val: any, exp: any, msg?: string): void;
539+
526540
/**
527541
* Asserts valueToCheck is strictly greater than (>) valueToBeAbove.
528542
*

types/chai/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"name": "@types/chai",
4-
"version": "5.0.9999",
4+
"version": "5.2.9999",
55
"type": "module",
66
"projects": [
77
"http://chaijs.com/"

0 commit comments

Comments
 (0)