Skip to content

Commit

Permalink
fix(chai-dom-diff): scope promise result to dom assertions
Browse files Browse the repository at this point in the history
  • Loading branch information
bennypowers committed Jul 17, 2023
1 parent 829166f commit 513e64e
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 22 deletions.
5 changes: 5 additions & 0 deletions .changeset/rude-eels-switch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@open-wc/semantic-dom-diff': patch
---

Refines TypeScript typings for DOM assertions
57 changes: 35 additions & 22 deletions packages/semantic-dom-diff/chai-dom-diff-plugin.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,46 @@ import { DiffOptions } from './get-diffable-html';
declare global {
namespace Chai {
interface Assertion extends LanguageChains, NumericComparison, TypeComparison {
dom: Assertion;
lightDom: Assertion;
shadowDom: Assertion;
notEqual(actual: Object, expected: Object, message?: string): void;
equalSnapshot(options?: Object): Assertion;
notEqualSnapshot(options?: Object): Assertion;
dom: DomDiffAssertion;
lightDom: DomDiffAssertion;
shadowDom: DomDiffAssertion;
equal: DomDiffEqual;
equals: DomDiffEqual;
eq: DomDiffEqual;
eql: DomDiffEqual;
eqls: DomDiffEqual;
to: DomDiffAssertion;
be: DomDiffAssertion;
been: DomDiffAssertion;
is: DomDiffAssertion;
that: DomDiffAssertion;
which: DomDiffAssertion;
and: DomDiffAssertion;
has: DomDiffAssertion;
have: DomDiffAssertion;
with: DomDiffAssertion;
at: DomDiffAssertion;
of: DomDiffAssertion;
same: DomDiffAssertion;
but: DomDiffAssertion;
does: DomDiffAssertion;
}

interface Assert {
dom: Pick<Assertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
lightDom: Pick<Assertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
shadowDom: Pick<Assertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
equalSnapshot(fixture: unknown, options?: DiffOptions): Assertion;
notEqualSnapshot(fixture: unknown, options?: DiffOptions): Assertion;

equal<T>(actual: T, expected: T, message?: string, options?: DiffOptions): void;
equal<T>(actual: T, expected: T, message?: string): void;
equal<T>(actual: T, expected: T, options?: DiffOptions): void;
interface DomDiffEqual {
(value: unknown, message?: string, options?: DiffOptions): Promise<Assertion>;
(value: unknown, options?: DiffOptions): Promise<Assertion>;
}

notEqual<T>(actual: T, expected: T, message?: string, options?: DiffOptions): void;
notEqual<T>(actual: T, expected: T, message?: string): void;
notEqual<T>(actual: T, expected: T, options?: DiffOptions): void;
interface DomDiffAssertion extends Assertion {
notEqual(actual: Object, expected: Object, message?: string): void;
equalSnapshot(options?: Object): Promise<Assertion>;
notEqualSnapshot(options?: Object): Promise<Assertion>;
}

interface Equal {
(value: unknown, message?: string, options?: DiffOptions): Promise<Assertion>;
(value: unknown, options?: DiffOptions): Promise<Assertion>;
interface Assert {
dom: Pick<DomDiffAssertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
lightDom: Pick<DomDiffAssertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
shadowDom: Pick<DomDiffAssertion, 'equal' | 'notEqual' | 'equalSnapshot' | 'notEqualSnapshot'>;
}
}
}

0 comments on commit 513e64e

Please sign in to comment.