This PR cherry-picks the following commits:
- 0d44405762
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
parent
2a577a5caf
commit
6cc43d81c5
8
packages/playwright/types/test.d.ts
vendored
8
packages/playwright/types/test.d.ts
vendored
|
|
@ -5072,12 +5072,12 @@ type FunctionAssertions = {
|
||||||
};
|
};
|
||||||
|
|
||||||
type BaseMatchers<R, T> = GenericAssertions<R> & PlaywrightTest.Matchers<R, T> & SnapshotAssertions;
|
type BaseMatchers<R, T> = GenericAssertions<R> & PlaywrightTest.Matchers<R, T> & SnapshotAssertions;
|
||||||
type AllowedGenericMatchers<R> = Pick<GenericAssertions<R>, 'toBe' | 'toBeDefined' | 'toBeFalsy' | 'toBeNull' | 'toBeTruthy' | 'toBeUndefined'>;
|
type AllowedGenericMatchers<R, T> = PlaywrightTest.Matchers<R, T> & Pick<GenericAssertions<R>, 'toBe' | 'toBeDefined' | 'toBeFalsy' | 'toBeNull' | 'toBeTruthy' | 'toBeUndefined'>;
|
||||||
|
|
||||||
type SpecificMatchers<R, T> =
|
type SpecificMatchers<R, T> =
|
||||||
T extends Page ? PageAssertions & AllowedGenericMatchers<R> :
|
T extends Page ? PageAssertions & AllowedGenericMatchers<R, T> :
|
||||||
T extends Locator ? LocatorAssertions & AllowedGenericMatchers<R> :
|
T extends Locator ? LocatorAssertions & AllowedGenericMatchers<R, T> :
|
||||||
T extends APIResponse ? APIResponseAssertions & AllowedGenericMatchers<R> :
|
T extends APIResponse ? APIResponseAssertions & AllowedGenericMatchers<R, T> :
|
||||||
BaseMatchers<R, T> & (T extends Function ? FunctionAssertions : {});
|
BaseMatchers<R, T> & (T extends Function ? FunctionAssertions : {});
|
||||||
type AllMatchers<R, T> = PageAssertions & LocatorAssertions & APIResponseAssertions & FunctionAssertions & BaseMatchers<R, T>;
|
type AllMatchers<R, T> = PageAssertions & LocatorAssertions & APIResponseAssertions & FunctionAssertions & BaseMatchers<R, T>;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -272,11 +272,21 @@ test('should work with custom PlaywrightTest namespace', async ({ runTSC }) => {
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
'a.spec.ts': `
|
'a.spec.ts': `
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect, type Page, type APIResponse } from '@playwright/test';
|
||||||
test.expect.extend({
|
test.expect.extend({
|
||||||
toBeWithinRange() { },
|
toBeWithinRange() { },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const page = {} as Page;
|
||||||
|
const locator = page.locator('');
|
||||||
|
const apiResponse = {} as APIResponse;
|
||||||
|
test.expect(page).toBeEmpty();
|
||||||
|
test.expect(page).not.toBeEmpty();
|
||||||
|
test.expect(locator).toBeEmpty();
|
||||||
|
test.expect(locator).not.toBeEmpty();
|
||||||
|
test.expect(apiResponse).toBeEmpty();
|
||||||
|
test.expect(apiResponse).not.toBeEmpty();
|
||||||
|
|
||||||
test.expect('').toBeEmpty();
|
test.expect('').toBeEmpty();
|
||||||
test.expect('hello').not.toBeEmpty();
|
test.expect('hello').not.toBeEmpty();
|
||||||
test.expect([]).toBeEmpty();
|
test.expect([]).toBeEmpty();
|
||||||
|
|
|
||||||
8
utils/generate_types/overrides-test.d.ts
vendored
8
utils/generate_types/overrides-test.d.ts
vendored
|
|
@ -330,12 +330,12 @@ type FunctionAssertions = {
|
||||||
};
|
};
|
||||||
|
|
||||||
type BaseMatchers<R, T> = GenericAssertions<R> & PlaywrightTest.Matchers<R, T> & SnapshotAssertions;
|
type BaseMatchers<R, T> = GenericAssertions<R> & PlaywrightTest.Matchers<R, T> & SnapshotAssertions;
|
||||||
type AllowedGenericMatchers<R> = Pick<GenericAssertions<R>, 'toBe' | 'toBeDefined' | 'toBeFalsy' | 'toBeNull' | 'toBeTruthy' | 'toBeUndefined'>;
|
type AllowedGenericMatchers<R, T> = PlaywrightTest.Matchers<R, T> & Pick<GenericAssertions<R>, 'toBe' | 'toBeDefined' | 'toBeFalsy' | 'toBeNull' | 'toBeTruthy' | 'toBeUndefined'>;
|
||||||
|
|
||||||
type SpecificMatchers<R, T> =
|
type SpecificMatchers<R, T> =
|
||||||
T extends Page ? PageAssertions & AllowedGenericMatchers<R> :
|
T extends Page ? PageAssertions & AllowedGenericMatchers<R, T> :
|
||||||
T extends Locator ? LocatorAssertions & AllowedGenericMatchers<R> :
|
T extends Locator ? LocatorAssertions & AllowedGenericMatchers<R, T> :
|
||||||
T extends APIResponse ? APIResponseAssertions & AllowedGenericMatchers<R> :
|
T extends APIResponse ? APIResponseAssertions & AllowedGenericMatchers<R, T> :
|
||||||
BaseMatchers<R, T> & (T extends Function ? FunctionAssertions : {});
|
BaseMatchers<R, T> & (T extends Function ? FunctionAssertions : {});
|
||||||
type AllMatchers<R, T> = PageAssertions & LocatorAssertions & APIResponseAssertions & FunctionAssertions & BaseMatchers<R, T>;
|
type AllMatchers<R, T> = PageAssertions & LocatorAssertions & APIResponseAssertions & FunctionAssertions & BaseMatchers<R, T>;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue