cypress 9.1.1 → 9.2.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/lib/tasks/verify.js +1 -1
- package/package.json +1 -1
- package/types/cypress.d.ts +58 -17
package/lib/tasks/verify.js
CHANGED
@@ -37,7 +37,7 @@ const xvfb = require('../exec/xvfb');
|
|
37
37
|
|
38
38
|
const state = require('./state');
|
39
39
|
|
40
|
-
const VERIFY_TEST_RUNNER_TIMEOUT_MS = 30000;
|
40
|
+
const VERIFY_TEST_RUNNER_TIMEOUT_MS = process.env.CYPRESS_VERIFY_TIMEOUT || 30000;
|
41
41
|
|
42
42
|
const checkExecutable = binaryDir => {
|
43
43
|
const executable = state.getPathToExecutable(binaryDir);
|
package/package.json
CHANGED
package/types/cypress.d.ts
CHANGED
@@ -7,13 +7,38 @@ declare namespace Cypress {
|
|
7
7
|
type HttpMethod = string
|
8
8
|
type RequestBody = string | object
|
9
9
|
type ViewportOrientation = 'portrait' | 'landscape'
|
10
|
-
type PrevSubject =
|
10
|
+
type PrevSubject = keyof PrevSubjectMap
|
11
11
|
type TestingType = 'e2e' | 'component'
|
12
12
|
type PluginConfig = (on: PluginEvents, config: PluginConfigOptions) => void | ConfigOptions | Promise<ConfigOptions>
|
13
13
|
|
14
|
+
interface PrevSubjectMap<O = unknown> {
|
15
|
+
optional: O
|
16
|
+
element: JQuery
|
17
|
+
document: Document
|
18
|
+
window: Window
|
19
|
+
}
|
20
|
+
|
14
21
|
interface CommandOptions {
|
15
22
|
prevSubject: boolean | PrevSubject | PrevSubject[]
|
16
23
|
}
|
24
|
+
interface CommandFn<T extends keyof ChainableMethods> {
|
25
|
+
(this: Mocha.Context, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
|
26
|
+
}
|
27
|
+
interface CommandFnWithSubject<T extends keyof ChainableMethods, S> {
|
28
|
+
(this: Mocha.Context, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
|
29
|
+
}
|
30
|
+
interface CommandOriginalFn<T extends keyof ChainableMethods> extends CallableFunction {
|
31
|
+
(...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]>
|
32
|
+
}
|
33
|
+
interface CommandOriginalFnWithSubject<T extends keyof ChainableMethods, S> extends CallableFunction {
|
34
|
+
(prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]>
|
35
|
+
}
|
36
|
+
interface CommandFnWithOriginalFn<T extends keyof Chainable> {
|
37
|
+
(this: Mocha.Context, originalFn: CommandOriginalFn<T>, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
|
38
|
+
}
|
39
|
+
interface CommandFnWithOriginalFnAndSubject<T extends keyof Chainable, S> {
|
40
|
+
(this: Mocha.Context, originalFn: CommandOriginalFnWithSubject<T, S>, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
|
41
|
+
}
|
17
42
|
interface ObjectLike {
|
18
43
|
[key: string]: any
|
19
44
|
}
|
@@ -294,6 +319,11 @@ declare namespace Cypress {
|
|
294
319
|
*/
|
295
320
|
LocalStorage: LocalStorage
|
296
321
|
|
322
|
+
/**
|
323
|
+
* Internal class for session management.
|
324
|
+
*/
|
325
|
+
session: Session
|
326
|
+
|
297
327
|
/**
|
298
328
|
* Current testing type, determined by the Test Runner chosen to run.
|
299
329
|
*/
|
@@ -328,7 +358,7 @@ declare namespace Cypress {
|
|
328
358
|
// 60000
|
329
359
|
```
|
330
360
|
*/
|
331
|
-
config<K extends keyof
|
361
|
+
config<K extends keyof Config>(key: K): Config[K]
|
332
362
|
/**
|
333
363
|
* Sets one configuration value.
|
334
364
|
* @see https://on.cypress.io/config
|
@@ -337,7 +367,7 @@ declare namespace Cypress {
|
|
337
367
|
Cypress.config('viewportWidth', 800)
|
338
368
|
```
|
339
369
|
*/
|
340
|
-
config<K extends keyof
|
370
|
+
config<K extends keyof TestConfigOverrides>(key: K, value: TestConfigOverrides[K]): void
|
341
371
|
/**
|
342
372
|
* Sets multiple configuration values at once.
|
343
373
|
* @see https://on.cypress.io/config
|
@@ -420,9 +450,16 @@ declare namespace Cypress {
|
|
420
450
|
* @see https://on.cypress.io/api/commands
|
421
451
|
*/
|
422
452
|
Commands: {
|
423
|
-
add<T extends keyof Chainable>(name: T, fn:
|
424
|
-
add<T extends keyof Chainable>(name: T, options: CommandOptions, fn:
|
425
|
-
|
453
|
+
add<T extends keyof Chainable>(name: T, fn: CommandFn<T>): void
|
454
|
+
add<T extends keyof Chainable>(name: T, options: CommandOptions & {prevSubject: false}, fn: CommandFn<T>): void
|
455
|
+
add<T extends keyof Chainable, S extends PrevSubject>(
|
456
|
+
name: T, options: CommandOptions & { prevSubject: true | S | ['optional'] }, fn: CommandFnWithSubject<T, PrevSubjectMap[S]>,
|
457
|
+
): void
|
458
|
+
add<T extends keyof Chainable, S extends PrevSubject>(
|
459
|
+
name: T, options: CommandOptions & { prevSubject: S[] }, fn: CommandFnWithSubject<T, PrevSubjectMap<void>[S]>,
|
460
|
+
): void
|
461
|
+
overwrite<T extends keyof Chainable>(name: T, fn: CommandFnWithOriginalFn<T>): void
|
462
|
+
overwrite<T extends keyof Chainable, S extends PrevSubject>(name: T, fn: CommandFnWithOriginalFnAndSubject<T, PrevSubjectMap[S]>): void
|
426
463
|
}
|
427
464
|
|
428
465
|
/**
|
@@ -2209,12 +2246,9 @@ declare namespace Cypress {
|
|
2209
2246
|
* @see https://on.cypress.io/writefile
|
2210
2247
|
```
|
2211
2248
|
cy.writeFile('path/to/message.txt', 'Hello World')
|
2212
|
-
.then((text) => {
|
2213
|
-
expect(text).to.equal('Hello World') // true
|
2214
|
-
})
|
2215
2249
|
```
|
2216
2250
|
*/
|
2217
|
-
writeFile
|
2251
|
+
writeFile(filePath: string, contents: FileContents, encoding: Encodings): Chainable<null>
|
2218
2252
|
/**
|
2219
2253
|
* Write to a file with the specified encoding and contents.
|
2220
2254
|
*
|
@@ -2223,12 +2257,10 @@ declare namespace Cypress {
|
|
2223
2257
|
cy.writeFile('path/to/ascii.txt', 'Hello World', {
|
2224
2258
|
flag: 'a+',
|
2225
2259
|
encoding: 'ascii'
|
2226
|
-
}).then((text) => {
|
2227
|
-
expect(text).to.equal('Hello World') // true
|
2228
2260
|
})
|
2229
2261
|
```
|
2230
2262
|
*/
|
2231
|
-
writeFile
|
2263
|
+
writeFile(filePath: string, contents: FileContents, options?: Partial<WriteFileOptions & Timeoutable>): Chainable<null>
|
2232
2264
|
/**
|
2233
2265
|
* Write to a file with the specified encoding and contents.
|
2234
2266
|
*
|
@@ -2238,12 +2270,10 @@ declare namespace Cypress {
|
|
2238
2270
|
```
|
2239
2271
|
cy.writeFile('path/to/ascii.txt', 'Hello World', 'utf8', {
|
2240
2272
|
flag: 'a+',
|
2241
|
-
}).then((text) => {
|
2242
|
-
expect(text).to.equal('Hello World') // true
|
2243
2273
|
})
|
2244
2274
|
```
|
2245
2275
|
*/
|
2246
|
-
writeFile
|
2276
|
+
writeFile(filePath: string, contents: FileContents, encoding: Encodings, options?: Partial<WriteFileOptions & Timeoutable>): Chainable<null>
|
2247
2277
|
|
2248
2278
|
/**
|
2249
2279
|
* jQuery library bound to the AUT
|
@@ -2255,6 +2285,12 @@ declare namespace Cypress {
|
|
2255
2285
|
$$<TElement extends Element = HTMLElement>(selector: JQuery.Selector, context?: Element | Document | JQuery): JQuery<TElement>
|
2256
2286
|
}
|
2257
2287
|
|
2288
|
+
type ChainableMethods<Subject = any> = {
|
2289
|
+
[P in keyof Chainable<Subject>]: Chainable<Subject>[P] extends ((...args: any[]) => any)
|
2290
|
+
? Chainable<Subject>[P]
|
2291
|
+
: never
|
2292
|
+
}
|
2293
|
+
|
2258
2294
|
interface SinonSpyAgent<A extends sinon.SinonSpy> {
|
2259
2295
|
log(shouldOutput?: boolean): Omit<A, 'withArgs'> & Agent<A>
|
2260
2296
|
|
@@ -2886,7 +2922,7 @@ declare namespace Cypress {
|
|
2886
2922
|
xhrUrl: string
|
2887
2923
|
}
|
2888
2924
|
|
2889
|
-
interface TestConfigOverrides extends Partial<Pick<ConfigOptions, 'animationDistanceThreshold' | 'baseUrl' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>> {
|
2925
|
+
interface TestConfigOverrides extends Partial<Pick<ConfigOptions, 'animationDistanceThreshold' | 'baseUrl' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>> {
|
2890
2926
|
browser?: IsBrowserMatcher | IsBrowserMatcher[]
|
2891
2927
|
keystrokeDelay?: number
|
2892
2928
|
}
|
@@ -3086,6 +3122,11 @@ declare namespace Cypress {
|
|
3086
3122
|
onAnyAbort(route: RouteOptions, proxy: any): void
|
3087
3123
|
}
|
3088
3124
|
|
3125
|
+
interface Session {
|
3126
|
+
// Clear all saved sessions and re-run the current spec file.
|
3127
|
+
clearAllSavedSessions: () => Promise<void>
|
3128
|
+
}
|
3129
|
+
|
3089
3130
|
type SameSiteStatus = 'no_restriction' | 'strict' | 'lax'
|
3090
3131
|
|
3091
3132
|
interface SetCookieOptions extends Loggable, Timeoutable {
|