cypress 9.5.2 → 9.5.3

Sign up to get free protection for your applications and to get access to all the features.
package/lib/cli.js CHANGED
@@ -223,6 +223,10 @@ const createProgram = () => {
223
223
  const addCypressRunCommand = program => {
224
224
  return program.command('run').usage('[options]').description('Runs Cypress tests from the CLI without the GUI').option('-b, --browser <browser-name-or-path>', text('browserRunMode')).option('--ci-build-id <id>', text('ciBuildId')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('-e, --env <env>', text('env')).option('--group <name>', text('group')).option('-k, --key <record-key>', text('key')).option('--headed', text('headed')).option('--headless', text('headless')).option('--no-exit', text('exit')).option('--parallel', text('parallel')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('-q, --quiet', text('quiet')).option('--record [bool]', text('record'), coerceFalse).option('-r, --reporter <reporter>', text('reporter')).option('-o, --reporter-options <reporter-options>', text('reporterOptions')).option('-s, --spec <spec>', text('spec')).option('-t, --tag <tag>', text('tag')).option('--dev', text('dev'), coerceFalse);
225
225
  };
226
+
227
+ const addCypressOpenCommand = program => {
228
+ return program.command('open').usage('[options]').description('Opens Cypress in the interactive GUI.').option('-b, --browser <browser-path>', text('browserOpenMode')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('-d, --detached [bool]', text('detached'), coerceFalse).option('-e, --env <env>', text('env')).option('--global', text('global')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('--dev', text('dev'), coerceFalse);
229
+ };
226
230
  /**
227
231
  * Casts known command line options for "cypress run" to their intended type.
228
232
  * For example if the user passes "--port 5005" the ".port" property should be
@@ -322,10 +326,10 @@ module.exports = {
322
326
  program.option('-v, --version', text('version')).command('version').description(text('version')).action(() => {
323
327
  showVersions(args);
324
328
  });
325
- program.command('open').usage('[options]').description('Opens Cypress in the interactive GUI.').option('-b, --browser <browser-path>', text('browserOpenMode')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('-d, --detached [bool]', text('detached'), coerceFalse).option('-e, --env <env>', text('env')).option('--global', text('global')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('--dev', text('dev'), coerceFalse).action(opts => {
329
+ addCypressOpenCommand(program).action(opts => {
326
330
  debug('opening Cypress');
327
331
 
328
- require('./exec/open').start(util.parseOpts(opts)).catch(util.logErrorExit1);
332
+ require('./exec/open').start(util.parseOpts(opts)).then(util.exit).catch(util.logErrorExit1);
329
333
  });
330
334
  addCypressRunCommand(program).action((...fnArgs) => {
331
335
  debug('running Cypress with args %o', fnArgs);
@@ -337,7 +341,7 @@ module.exports = {
337
341
 
338
342
  require('./exec/open').start({ ...util.parseOpts(opts),
339
343
  testingType: 'component'
340
- }).catch(util.logErrorExit1);
344
+ }).then(util.exit).catch(util.logErrorExit1);
341
345
  });
342
346
  program.command('run-ct').usage('[options]').description('Runs all Cypress Component Testing suites').option('-b, --browser <browser-name-or-path>', text('browserRunMode')).option('--ci-build-id <id>', text('ciBuildId')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('-e, --env <env>', text('env')).option('--group <name>', text('group')).option('-k, --key <record-key>', text('key')).option('--headed', text('headed')).option('--headless', text('headless')).option('--no-exit', text('exit')).option('--parallel', text('parallel')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('-q, --quiet', text('quiet')).option('--record [bool]', text('record'), coerceFalse).option('-r, --reporter <reporter>', text('reporter')).option('-o, --reporter-options <reporter-options>', text('reporterOptions')).option('-s, --spec <spec>', text('spec')).option('-t, --tag <tag>', text('tag')).option('--dev', text('dev'), coerceFalse).action(opts => {
343
347
  debug('running Cypress run-ct');
package/lib/errors.js CHANGED
@@ -79,7 +79,7 @@ const binaryNotExecutable = executable => {
79
79
 
80
80
  Please check that you have the appropriate user permissions.
81
81
 
82
- You can also try clearing the cache with 'cypress cache clear' and reinstalling.
82
+ You can also try clearing the cache with 'cypress cache clear' and reinstalling.
83
83
  `
84
84
  };
85
85
  };
package/lib/exec/open.js CHANGED
@@ -12,41 +12,48 @@ const {
12
12
  processTestingType
13
13
  } = require('./shared');
14
14
 
15
- module.exports = {
16
- start(options = {}) {
17
- if (!util.isInstalledGlobally() && !options.global && !options.project) {
18
- options.project = process.cwd();
19
- }
15
+ const processOpenOptions = options => {
16
+ if (!util.isInstalledGlobally() && !options.global && !options.project) {
17
+ options.project = process.cwd();
18
+ }
20
19
 
21
- const args = [];
20
+ const args = [];
22
21
 
23
- if (options.config) {
24
- args.push('--config', options.config);
25
- }
22
+ if (options.config) {
23
+ args.push('--config', options.config);
24
+ }
26
25
 
27
- if (options.configFile !== undefined) {
28
- args.push('--config-file', options.configFile);
29
- }
26
+ if (options.configFile !== undefined) {
27
+ args.push('--config-file', options.configFile);
28
+ }
30
29
 
31
- if (options.browser) {
32
- args.push('--browser', options.browser);
33
- }
30
+ if (options.browser) {
31
+ args.push('--browser', options.browser);
32
+ }
34
33
 
35
- if (options.env) {
36
- args.push('--env', options.env);
37
- }
34
+ if (options.env) {
35
+ args.push('--env', options.env);
36
+ }
38
37
 
39
- if (options.port) {
40
- args.push('--port', options.port);
41
- }
38
+ if (options.port) {
39
+ args.push('--port', options.port);
40
+ }
42
41
 
43
- if (options.project) {
44
- args.push('--project', options.project);
45
- }
42
+ if (options.project) {
43
+ args.push('--project', options.project);
44
+ }
45
+
46
+ args.push(...processTestingType(options.testingType));
47
+ debug('opening from options %j', options);
48
+ debug('command line arguments %j', args);
49
+ return args;
50
+ };
46
51
 
47
- args.push(...processTestingType(options.testingType));
48
- debug('opening from options %j', options);
49
- debug('command line arguments %j', args);
52
+ module.exports = {
53
+ processOpenOptions,
54
+
55
+ start(options = {}) {
56
+ const args = processOpenOptions(options);
50
57
 
51
58
  function open() {
52
59
  return spawn.start(args, {
package/lib/exec/spawn.js CHANGED
@@ -109,19 +109,23 @@ module.exports = {
109
109
  const envOverrides = util.getEnvOverrides(options);
110
110
  const electronArgs = [];
111
111
  const node11WindowsFix = isPlatform('win32');
112
+ let startScriptPath;
112
113
 
113
114
  if (options.dev) {
114
- // if we're in dev then reset
115
+ executable = 'node'; // if we're in dev then reset
115
116
  // the launch cmd to be 'npm run dev'
116
- executable = 'node';
117
- electronArgs.unshift(path.resolve(__dirname, '..', '..', '..', 'scripts', 'start.js'));
118
- debug('in dev mode the args became %o', args);
117
+
118
+ startScriptPath = path.resolve(__dirname, '..', '..', '..', 'scripts', 'start.js'), debug('in dev mode the args became %o', args);
119
119
  }
120
120
 
121
121
  if (!options.dev && verify.needsSandbox()) {
122
122
  electronArgs.push('--no-sandbox');
123
123
  } // strip dev out of child process options
124
124
 
125
+ /**
126
+ * @type {import('child_process').ForkOptions}
127
+ */
128
+
125
129
 
126
130
  let stdioOptions = _.pick(options, 'env', 'detached', 'stdio'); // figure out if we're going to be force enabling or disabling colors.
127
131
  // also figure out whether we should force stdout and stderr into thinking
@@ -148,8 +152,7 @@ module.exports = {
148
152
 
149
153
  if (stdioOptions.env.ELECTRON_RUN_AS_NODE) {
150
154
  // Since we are running electron as node, we need to add an entry point file.
151
- const serverEntryPoint = path.join(state.getBinaryPkgPath(path.dirname(executable)), '..', 'index.js');
152
- args = [serverEntryPoint, ...args];
155
+ startScriptPath = path.join(state.getBinaryPkgPath(path.dirname(executable)), '..', 'index.js');
153
156
  } else {
154
157
  // Start arguments with "--" so Electron knows these are OUR
155
158
  // arguments and does not try to sanitize them. Otherwise on Windows
@@ -158,8 +161,12 @@ module.exports = {
158
161
  args = [...electronArgs, '--', ...args];
159
162
  }
160
163
 
161
- debug('spawning Cypress with executable: %s', executable);
164
+ if (startScriptPath) {
165
+ args.unshift(startScriptPath);
166
+ }
167
+
162
168
  debug('spawn args %o %o', args, _.omit(stdioOptions, 'env'));
169
+ debug('spawning Cypress with executable: %s', executable);
163
170
  const child = cp.spawn(executable, args, stdioOptions);
164
171
 
165
172
  function resolveOn(event) {
@@ -79,8 +79,8 @@ const getCA = () => {
79
79
  const prepend = urlPath => {
80
80
  const endpoint = url.resolve(getBaseUrl(), urlPath);
81
81
  const platform = os.platform();
82
- const pathTemplate = util.getEnv('CYPRESS_DOWNLOAD_PATH_TEMPLATE');
83
- return pathTemplate ? pathTemplate.replace('${endpoint}', endpoint).replace('${platform}', platform).replace('${arch}', arch()) : `${endpoint}?platform=${platform}&arch=${arch()}`;
82
+ const pathTemplate = util.getEnv('CYPRESS_DOWNLOAD_PATH_TEMPLATE', true);
83
+ return pathTemplate ? pathTemplate.replace(/\\?\$\{endpoint\}/, endpoint).replace(/\\?\$\{platform\}/, platform).replace(/\\?\$\{arch\}/, arch()) : `${endpoint}?platform=${platform}&arch=${arch()}`;
84
84
  };
85
85
 
86
86
  const getUrl = version => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "9.5.2",
3
+ "version": "9.5.3",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node index.js --exec install",
@@ -39,7 +39,7 @@
39
39
  "listr2": "^3.8.3",
40
40
  "lodash": "^4.17.21",
41
41
  "log-symbols": "^4.0.0",
42
- "minimist": "^1.2.5",
42
+ "minimist": "^1.2.6",
43
43
  "ospath": "^1.2.2",
44
44
  "pretty-bytes": "^5.6.0",
45
45
  "proxy-from-env": "1.0.0",
@@ -66,8 +66,8 @@
66
66
  "types": "types",
67
67
  "buildInfo": {
68
68
  "commitBranch": "develop",
69
- "commitSha": "5db2cd996834043b3c825625cf0100957e14a663",
70
- "commitDate": "2022-03-14T18:42:32.000Z",
69
+ "commitSha": "51ec479d53ce16c91ca9907d745212ce9f6642be",
70
+ "commitDate": "2022-03-28T19:23:42.000Z",
71
71
  "stable": true
72
72
  },
73
73
  "description": "Cypress.io end to end testing tool",
@@ -30,4 +30,4 @@ interface NodeEventEmitter {
30
30
 
31
31
  // We use the Buffer class for dealing with binary data, especially around the
32
32
  // selectFile interface.
33
- type BufferType = import("buffer/").Buffer
33
+ type BufferType = typeof import("buffer/").Buffer
@@ -36,7 +36,7 @@ declare namespace CypressCommandLine {
36
36
  */
37
37
  interface CypressRunOptions extends CypressCommonOptions {
38
38
  /**
39
- * Specify different browser to run tests in, either by name or by filesystem path
39
+ * Specify browser to run tests in, either by name or by filesystem path
40
40
  */
41
41
  browser: string
42
42
  /**
@@ -118,7 +118,7 @@ declare namespace CypressCommandLine {
118
118
  */
119
119
  interface CypressOpenOptions extends CypressCommonOptions {
120
120
  /**
121
- * Specify a filesystem path to a custom browser
121
+ * Specify browser to run tests in, either by name or by filesystem path
122
122
  */
123
123
  browser: string
124
124
  /**
@@ -3347,7 +3347,7 @@ declare namespace Cypress {
3347
3347
  (chainer: 'be.a', type: string): Chainable<Subject>
3348
3348
  /**
3349
3349
  * Asserts that the target is a number or a date greater than the given number or date n respectively.
3350
- * However, its often best to assert that the target is equal to its expected value.
3350
+ * However, it's often best to assert that the target is equal to its expected value.
3351
3351
  * @example
3352
3352
  * cy.wrap(6).should('be.above', 5)
3353
3353
  * @see http://chaijs.com/api/bdd/#method_above
@@ -3367,7 +3367,7 @@ declare namespace Cypress {
3367
3367
  (chainer: 'be.an', value: string): Chainable<Subject>
3368
3368
  /**
3369
3369
  * Asserts that the target is a number or a `n` date greater than or equal to the given number or date n respectively.
3370
- * However, its often best to assert that the target is equal to its expected value.
3370
+ * However, it's often best to assert that the target is equal to its expected value.
3371
3371
  * @example
3372
3372
  * cy.wrap(6).should('be.at.least', 5)
3373
3373
  * @see http://chaijs.com/api/bdd/#method_least
@@ -3376,7 +3376,7 @@ declare namespace Cypress {
3376
3376
  (chainer: 'be.at.least', value: number | Date): Chainable<Subject>
3377
3377
  /**
3378
3378
  * Asserts that the target is a number or a `n` date less than or equal to the given number or date n respectively.
3379
- * However, its often best to assert that the target is equal to its expected value.
3379
+ * However, it's often best to assert that the target is equal to its expected value.
3380
3380
  * @example
3381
3381
  * cy.wrap(4).should('be.below', 5)
3382
3382
  * @see http://chaijs.com/api/bdd/#method_below
@@ -3392,7 +3392,7 @@ declare namespace Cypress {
3392
3392
  */
3393
3393
  (chainer: 'be.arguments'): Chainable<Subject>
3394
3394
  /**
3395
- * Asserts that the target is a number that’s within a given +/- `delta` range of the given number `expected`. However, its often best to assert that the target is equal to its expected value.
3395
+ * Asserts that the target is a number that’s within a given +/- `delta` range of the given number `expected`. However, it's often best to assert that the target is equal to its expected value.
3396
3396
  * @example
3397
3397
  * cy.wrap(5.1).should('be.approximately', 5, 0.5)
3398
3398
  * @alias closeTo
@@ -3401,7 +3401,7 @@ declare namespace Cypress {
3401
3401
  */
3402
3402
  (chainer: 'be.approximately', value: number, delta: number): Chainable<Subject>
3403
3403
  /**
3404
- * Asserts that the target is a number that’s within a given +/- `delta` range of the given number `expected`. However, its often best to assert that the target is equal to its expected value.
3404
+ * Asserts that the target is a number that’s within a given +/- `delta` range of the given number `expected`. However, it's often best to assert that the target is equal to its expected value.
3405
3405
  * @example
3406
3406
  * cy.wrap(5.1).should('be.closeTo', 5, 0.5)
3407
3407
  * @see http://chaijs.com/api/bdd/#method_closeto
@@ -3435,7 +3435,7 @@ declare namespace Cypress {
3435
3435
  (chainer: 'be.false'): Chainable<Subject>
3436
3436
  /**
3437
3437
  * Asserts that the target is a number or a date greater than the given number or date n respectively.
3438
- * However, its often best to assert that the target is equal to its expected value.
3438
+ * However, it's often best to assert that the target is equal to its expected value.
3439
3439
  * @example
3440
3440
  * cy.wrap(6).should('be.greaterThan', 5)
3441
3441
  * @alias above
@@ -3445,7 +3445,7 @@ declare namespace Cypress {
3445
3445
  (chainer: 'be.greaterThan', value: number): Chainable<Subject>
3446
3446
  /**
3447
3447
  * Asserts that the target is a number or a date greater than the given number or date n respectively.
3448
- * However, its often best to assert that the target is equal to its expected value.
3448
+ * However, it's often best to assert that the target is equal to its expected value.
3449
3449
  * @example
3450
3450
  * cy.wrap(6).should('be.gt', 5)
3451
3451
  * @alias above
@@ -3455,7 +3455,7 @@ declare namespace Cypress {
3455
3455
  (chainer: 'be.gt', value: number): Chainable<Subject>
3456
3456
  /**
3457
3457
  * Asserts that the target is a number or a `n` date greater than or equal to the given number or date n respectively.
3458
- * However, its often best to assert that the target is equal to its expected value.
3458
+ * However, it's often best to assert that the target is equal to its expected value.
3459
3459
  * @example
3460
3460
  * cy.wrap(6).should('be.gte', 5)
3461
3461
  * @alias least
@@ -3465,7 +3465,7 @@ declare namespace Cypress {
3465
3465
  (chainer: 'be.gte', value: number): Chainable<Subject>
3466
3466
  /**
3467
3467
  * Asserts that the target is a number or a `n` date less than or equal to the given number or date n respectively.
3468
- * However, its often best to assert that the target is equal to its expected value.
3468
+ * However, it's often best to assert that the target is equal to its expected value.
3469
3469
  * @example
3470
3470
  * cy.wrap(4).should('be.lessThan', 5)
3471
3471
  * @alias below
@@ -3475,7 +3475,7 @@ declare namespace Cypress {
3475
3475
  (chainer: 'be.lessThan', value: number): Chainable<Subject>
3476
3476
  /**
3477
3477
  * Asserts that the target is a number or a `n` date less than or equal to the given number or date n respectively.
3478
- * However, its often best to assert that the target is equal to its expected value.
3478
+ * However, it's often best to assert that the target is equal to its expected value.
3479
3479
  * @example
3480
3480
  * cy.wrap(4).should('be.lt', 5)
3481
3481
  * @alias below
@@ -3485,7 +3485,7 @@ declare namespace Cypress {
3485
3485
  (chainer: 'be.lt', value: number): Chainable<Subject>
3486
3486
  /**
3487
3487
  * Asserts that the target is a number or a date less than or equal to the given number or date n respectively.
3488
- * However, its often best to assert that the target is equal to its expected value.
3488
+ * However, it's often best to assert that the target is equal to its expected value.
3489
3489
  * @example
3490
3490
  * cy.wrap(4).should('be.lte', 5)
3491
3491
  * @alias most
@@ -3494,7 +3494,7 @@ declare namespace Cypress {
3494
3494
  */
3495
3495
  (chainer: 'be.lte', value: number): Chainable<Subject>
3496
3496
  /**
3497
- * Asserts that the target is loosely (`==`) equal to `true`. However, its often best to assert that the target is strictly (`===`) or deeply equal to its expected value.
3497
+ * Asserts that the target is loosely (`==`) equal to `true`. However, it's often best to assert that the target is strictly (`===`) or deeply equal to its expected value.
3498
3498
  * @example
3499
3499
  * cy.wrap(1).should('be.ok')
3500
3500
  * @see http://chaijs.com/api/bdd/#method_ok
@@ -3535,7 +3535,7 @@ declare namespace Cypress {
3535
3535
  (chainer: 'be.NaN'): Chainable<Subject>
3536
3536
  /**
3537
3537
  * Asserts that the target is a number or a date greater than or equal to the given number or date `start`, and less than or equal to the given number or date `finish` respectively.
3538
- * However, its often best to assert that the target is equal to its expected value.
3538
+ * However, it's often best to assert that the target is equal to its expected value.
3539
3539
  * @example
3540
3540
  * cy.wrap(6).should('be.within', 5, 10)
3541
3541
  * @see http://chaijs.com/api/bdd/#method_within
@@ -3544,8 +3544,8 @@ declare namespace Cypress {
3544
3544
  (chainer: 'be.within', start: number, end: number): Chainable<Subject>
3545
3545
  (chainer: 'be.within', start: Date, end: Date): Chainable<Subject>
3546
3546
  /**
3547
- * When one argument is provided, `.change` asserts that the given function `subject` returns a different value when its invoked before the target function compared to when its invoked afterward.
3548
- * However, its often best to assert that `subject` is equal to its expected value.
3547
+ * When one argument is provided, `.change` asserts that the given function `subject` returns a different value when it's invoked before the target function compared to when it's invoked afterward.
3548
+ * However, it's often best to assert that `subject` is equal to its expected value.
3549
3549
  * @example
3550
3550
  * let dots = ''
3551
3551
  * function addDot() { dots += '.' }
@@ -3575,8 +3575,8 @@ declare namespace Cypress {
3575
3575
  */
3576
3576
  (chainer: 'contain', value: any): Chainable<Subject>
3577
3577
  /**
3578
- * When one argument is provided, `.decrease` asserts that the given function `subject` returns a lesser number when its invoked after invoking the target function compared to when its invoked beforehand.
3579
- * `.decrease` also causes all `.by` assertions that follow in the chain to assert how much lesser of a number is returned. It’s often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.
3578
+ * When one argument is provided, `.decrease` asserts that the given function `subject` returns a lesser number when it's invoked after invoking the target function compared to when it's invoked beforehand.
3579
+ * `.decrease` also causes all `.by` assertions that follow in the chain to assert how much lesser of a number is returned. it's often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.
3580
3580
  * @example
3581
3581
  * let val = 1
3582
3582
  * function subtractTwo() { val -= 2 }
@@ -3606,7 +3606,7 @@ declare namespace Cypress {
3606
3606
  */
3607
3607
  (chainer: 'deep.equal', value: Subject): Chainable<Subject>
3608
3608
  /**
3609
- * Asserts that the target is not strictly (`===`) equal to either `null` or `undefined`. However, its often best to assert that the target is equal to its expected value.
3609
+ * Asserts that the target is not strictly (`===`) equal to either `null` or `undefined`. However, it's often best to assert that the target is equal to its expected value.
3610
3610
  * @example
3611
3611
  * cy.wrap(1).should('exist')
3612
3612
  * @see http://chaijs.com/api/bdd/#method_exist
@@ -3825,10 +3825,10 @@ declare namespace Cypress {
3825
3825
  */
3826
3826
  (chainer: 'include.members' | 'include.ordered.members' | 'include.deep.ordered.members', value: any[]): Chainable<Subject>
3827
3827
  /**
3828
- * When one argument is provided, `.increase` asserts that the given function `subject` returns a greater number when its
3829
- * invoked after invoking the target function compared to when its invoked beforehand.
3828
+ * When one argument is provided, `.increase` asserts that the given function `subject` returns a greater number when it's
3829
+ * invoked after invoking the target function compared to when it's invoked beforehand.
3830
3830
  * `.increase` also causes all `.by` assertions that follow in the chain to assert how much greater of a number is returned.
3831
- * It’s often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.
3831
+ * it's often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.
3832
3832
  *
3833
3833
  * When two arguments are provided, `.increase` asserts that the value of the given object `subject`’s `prop` property is greater after
3834
3834
  * invoking the target function compared to beforehand.
@@ -3875,7 +3875,7 @@ declare namespace Cypress {
3875
3875
  (chainer: 'satisfy', fn: (val: any) => boolean): Chainable<Subject>
3876
3876
  /**
3877
3877
  * When no arguments are provided, `.throw` invokes the target function and asserts that an error is thrown.
3878
- * When one argument is provided, and its a string, `.throw` invokes the target function and asserts that an error is thrown with a message that contains that string.
3878
+ * When one argument is provided, and it's a string, `.throw` invokes the target function and asserts that an error is thrown with a message that contains that string.
3879
3879
  * @example
3880
3880
  * function badFn() { throw new TypeError('Illegal salmon!') }
3881
3881
  * cy.wrap(badFn).should('throw')
@@ -3887,7 +3887,7 @@ declare namespace Cypress {
3887
3887
  (chainer: 'throw', value?: string | RegExp): Chainable<Subject>
3888
3888
  /**
3889
3889
  * When no arguments are provided, `.throw` invokes the target function and asserts that an error is thrown.
3890
- * When one argument is provided, and its a string, `.throw` invokes the target function and asserts that an error is thrown with a message that contains that string.
3890
+ * When one argument is provided, and it's a string, `.throw` invokes the target function and asserts that an error is thrown with a message that contains that string.
3891
3891
  * @example
3892
3892
  * function badFn() { throw new TypeError('Illegal salmon!') }
3893
3893
  * cy.wrap(badFn).should('throw')
@@ -3956,7 +3956,7 @@ declare namespace Cypress {
3956
3956
  (chainer: 'not.be.a', type: string): Chainable<Subject>
3957
3957
  /**
3958
3958
  * Asserts that the target is a not number or not a date greater than the given number or date n respectively.
3959
- * However, its often best to assert that the target is equal to its expected value.
3959
+ * However, it's often best to assert that the target is equal to its expected value.
3960
3960
  * @example
3961
3961
  * cy.wrap(6).should('not.be.above', 10)
3962
3962
  * @see http://chaijs.com/api/bdd/#method_above
@@ -3976,7 +3976,7 @@ declare namespace Cypress {
3976
3976
  (chainer: 'not.be.an', value: string): Chainable<Subject>
3977
3977
  /**
3978
3978
  * Asserts that the target is not a number or not a `n` date greater than or equal to the given number or date n respectively.
3979
- * However, its often best to assert that the target is equal to its expected value.
3979
+ * However, it's often best to assert that the target is equal to its expected value.
3980
3980
  * @example
3981
3981
  * cy.wrap(6).should('not.be.at.least', 10)
3982
3982
  * @see http://chaijs.com/api/bdd/#method_least
@@ -3985,7 +3985,7 @@ declare namespace Cypress {
3985
3985
  (chainer: 'not.be.at.least', value: number | Date): Chainable<Subject>
3986
3986
  /**
3987
3987
  * Asserts that the target is not a number or not a `n` date less than or equal to the given number or date n respectively.
3988
- * However, its often best to assert that the target is equal to its expected value.
3988
+ * However, it's often best to assert that the target is equal to its expected value.
3989
3989
  * @example
3990
3990
  * cy.wrap(4).should('not.be.below', 1)
3991
3991
  * @see http://chaijs.com/api/bdd/#method_below
@@ -4001,7 +4001,7 @@ declare namespace Cypress {
4001
4001
  */
4002
4002
  (chainer: 'not.be.arguments'): Chainable<Subject>
4003
4003
  /**
4004
- * Asserts that the target is a not number that’s within a given +/- `delta` range of the given number `expected`. However, its often best to assert that the target is equal to its expected value.
4004
+ * Asserts that the target is a not number that’s within a given +/- `delta` range of the given number `expected`. However, it's often best to assert that the target is equal to its expected value.
4005
4005
  * @example
4006
4006
  * cy.wrap(5.1).should('not.be.approximately', 6, 0.5)
4007
4007
  * @alias closeTo
@@ -4010,7 +4010,7 @@ declare namespace Cypress {
4010
4010
  */
4011
4011
  (chainer: 'not.be.approximately', value: number, delta: number): Chainable<Subject>
4012
4012
  /**
4013
- * Asserts that the target is not a number that’s within a given +/- `delta` range of the given number `expected`. However, its often best to assert that the target is equal to its expected value.
4013
+ * Asserts that the target is not a number that’s within a given +/- `delta` range of the given number `expected`. However, it's often best to assert that the target is equal to its expected value.
4014
4014
  * @example
4015
4015
  * cy.wrap(5.1).should('not.be.closeTo', 6, 0.5)
4016
4016
  * @see http://chaijs.com/api/bdd/#method_closeto
@@ -4044,7 +4044,7 @@ declare namespace Cypress {
4044
4044
  (chainer: 'not.be.false'): Chainable<Subject>
4045
4045
  /**
4046
4046
  * Asserts that the target is a not number or a date greater than the given number or date n respectively.
4047
- * However, its often best to assert that the target is equal to its expected value.
4047
+ * However, it's often best to assert that the target is equal to its expected value.
4048
4048
  * @example
4049
4049
  * cy.wrap(6).should('be.greaterThan', 7)
4050
4050
  * @alias above
@@ -4054,7 +4054,7 @@ declare namespace Cypress {
4054
4054
  (chainer: 'not.be.greaterThan', value: number): Chainable<Subject>
4055
4055
  /**
4056
4056
  * Asserts that the target is a not number or a date greater than the given number or date n respectively.
4057
- * However, its often best to assert that the target is equal to its expected value.
4057
+ * However, it's often best to assert that the target is equal to its expected value.
4058
4058
  * @example
4059
4059
  * cy.wrap(6).should('not.be.gt', 7)
4060
4060
  * @alias above
@@ -4064,7 +4064,7 @@ declare namespace Cypress {
4064
4064
  (chainer: 'not.be.gt', value: number): Chainable<Subject>
4065
4065
  /**
4066
4066
  * Asserts that the target is a not number or a `n` date greater than or equal to the given number or date n respectively.
4067
- * However, its often best to assert that the target is equal to its expected value.
4067
+ * However, it's often best to assert that the target is equal to its expected value.
4068
4068
  * @example
4069
4069
  * cy.wrap(6).should('not.be.gte', 7)
4070
4070
  * @alias least
@@ -4074,7 +4074,7 @@ declare namespace Cypress {
4074
4074
  (chainer: 'not.be.gte', value: number): Chainable<Subject>
4075
4075
  /**
4076
4076
  * Asserts that the target is not a number or a `n` date less than or equal to the given number or date n respectively.
4077
- * However, its often best to assert that the target is equal to its expected value.
4077
+ * However, it's often best to assert that the target is equal to its expected value.
4078
4078
  * @example
4079
4079
  * cy.wrap(4).should('not.be.lessThan', 3)
4080
4080
  * @alias below
@@ -4084,7 +4084,7 @@ declare namespace Cypress {
4084
4084
  (chainer: 'not.be.lessThan', value: number): Chainable<Subject>
4085
4085
  /**
4086
4086
  * Asserts that the target is not a number or a `n` date less than or equal to the given number or date n respectively.
4087
- * However, its often best to assert that the target is equal to its expected value.
4087
+ * However, it's often best to assert that the target is equal to its expected value.
4088
4088
  * @example
4089
4089
  * cy.wrap(4).should('not.be.lt', 3)
4090
4090
  * @alias below
@@ -4094,7 +4094,7 @@ declare namespace Cypress {
4094
4094
  (chainer: 'not.be.lt', value: number): Chainable<Subject>
4095
4095
  /**
4096
4096
  * Asserts that the target is not a number or a date less than or equal to the given number or date n respectively.
4097
- * However, its often best to assert that the target is equal to its expected value.
4097
+ * However, it's often best to assert that the target is equal to its expected value.
4098
4098
  * @example
4099
4099
  * cy.wrap(4).should('not.be.lte', 3)
4100
4100
  * @alias most
@@ -4103,7 +4103,7 @@ declare namespace Cypress {
4103
4103
  */
4104
4104
  (chainer: 'not.be.lte', value: number): Chainable<Subject>
4105
4105
  /**
4106
- * Asserts that the target is not loosely (`==`) equal to `true`. However, its often best to assert that the target is strictly (`===`) or deeply equal to its expected value.
4106
+ * Asserts that the target is not loosely (`==`) equal to `true`. However, it's often best to assert that the target is strictly (`===`) or deeply equal to its expected value.
4107
4107
  * @example
4108
4108
  * cy.wrap(0).should('not.be.ok')
4109
4109
  * @see http://chaijs.com/api/bdd/#method_ok
@@ -4144,7 +4144,7 @@ declare namespace Cypress {
4144
4144
  (chainer: 'not.be.NaN'): Chainable<Subject>
4145
4145
  /**
4146
4146
  * Asserts that the target is not a number or a date greater than or equal to the given number or date `start`, and less than or equal to the given number or date `finish` respectively.
4147
- * However, its often best to assert that the target is equal to its expected value.
4147
+ * However, it's often best to assert that the target is equal to its expected value.
4148
4148
  * @example
4149
4149
  * cy.wrap(3).should('not.be.within', 5, 10)
4150
4150
  * @see http://chaijs.com/api/bdd/#method_within
@@ -4153,8 +4153,8 @@ declare namespace Cypress {
4153
4153
  (chainer: 'not.be.within', start: number, end: number): Chainable<Subject>
4154
4154
  (chainer: 'not.be.within', start: Date, end: Date): Chainable<Subject>
4155
4155
  /**
4156
- * When one argument is provided, `.change` asserts that the given function `subject` returns a different value when its invoked before the target function compared to when its invoked afterward.
4157
- * However, its often best to assert that `subject` is equal to its expected value.
4156
+ * When one argument is provided, `.change` asserts that the given function `subject` returns a different value when it's invoked before the target function compared to when it's invoked afterward.
4157
+ * However, it's often best to assert that `subject` is equal to its expected value.
4158
4158
  * @example
4159
4159
  * let dots = ''
4160
4160
  * function addDot() { dots += '.' }
@@ -4184,8 +4184,8 @@ declare namespace Cypress {
4184
4184
  */
4185
4185
  (chainer: 'not.contain', value: any): Chainable<Subject>
4186
4186
  /**
4187
- * When one argument is provided, `.decrease` asserts that the given function `subject` does not returns a lesser number when its invoked after invoking the target function compared to when its invoked beforehand.
4188
- * `.decrease` also causes all `.by` assertions that follow in the chain to assert how much lesser of a number is returned. It’s often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.
4187
+ * When one argument is provided, `.decrease` asserts that the given function `subject` does not returns a lesser number when it's invoked after invoking the target function compared to when it's invoked beforehand.
4188
+ * `.decrease` also causes all `.by` assertions that follow in the chain to assert how much lesser of a number is returned. it's often best to assert that the return value decreased by the expected amount, rather than asserting it decreased by any amount.
4189
4189
  * @example
4190
4190
  * let val = 1
4191
4191
  * function subtractTwo() { val -= 2 }
@@ -4214,7 +4214,7 @@ declare namespace Cypress {
4214
4214
  */
4215
4215
  (chainer: 'not.deep.equal', value: Subject): Chainable<Subject>
4216
4216
  /**
4217
- * Asserts that the target is not strictly (`===`) equal to either `null` or `undefined`. However, its often best to assert that the target is equal to its expected value.
4217
+ * Asserts that the target is not strictly (`===`) equal to either `null` or `undefined`. However, it's often best to assert that the target is equal to its expected value.
4218
4218
  * @example
4219
4219
  * cy.wrap(null).should('not.exist')
4220
4220
  * @see http://chaijs.com/api/bdd/#method_exist
@@ -4409,10 +4409,10 @@ declare namespace Cypress {
4409
4409
  */
4410
4410
  (chainer: 'not.include.members' | 'not.include.ordered.members' | 'not.include.deep.ordered.members', value: any[]): Chainable<Subject>
4411
4411
  /**
4412
- * When one argument is provided, `.increase` asserts that the given function `subject` returns a greater number when its
4413
- * invoked after invoking the target function compared to when its invoked beforehand.
4412
+ * When one argument is provided, `.increase` asserts that the given function `subject` returns a greater number when it's
4413
+ * invoked after invoking the target function compared to when it's invoked beforehand.
4414
4414
  * `.increase` also causes all `.by` assertions that follow in the chain to assert how much greater of a number is returned.
4415
- * It’s often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.
4415
+ * it's often best to assert that the return value increased by the expected amount, rather than asserting it increased by any amount.
4416
4416
  *
4417
4417
  * When two arguments are provided, `.increase` asserts that the value of the given object `subject`’s `prop` property is greater after
4418
4418
  * invoking the target function compared to beforehand.
@@ -4459,7 +4459,7 @@ declare namespace Cypress {
4459
4459
  (chainer: 'not.satisfy', fn: (val: any) => boolean): Chainable<Subject>
4460
4460
  /**
4461
4461
  * When no arguments are provided, `.throw` invokes the target function and asserts that no error is thrown.
4462
- * When one argument is provided, and its a string, `.throw` invokes the target function and asserts that no error is thrown with a message that contains that string.
4462
+ * When one argument is provided, and it's a string, `.throw` invokes the target function and asserts that no error is thrown with a message that contains that string.
4463
4463
  * @example
4464
4464
  * function badFn() { console.log('Illegal salmon!') }
4465
4465
  * cy.wrap(badFn).should('not.throw')
@@ -4471,7 +4471,7 @@ declare namespace Cypress {
4471
4471
  (chainer: 'not.throw', value?: string | RegExp): Chainable<Subject>
4472
4472
  /**
4473
4473
  * When no arguments are provided, `.throw` invokes the target function and asserts that no error is thrown.
4474
- * When one argument is provided, and its a string, `.throw` invokes the target function and asserts that no error is thrown with a message that contains that string.
4474
+ * When one argument is provided, and it's a string, `.throw` invokes the target function and asserts that no error is thrown with a message that contains that string.
4475
4475
  * @example
4476
4476
  * function badFn() { console.log('Illegal salmon!') }
4477
4477
  * cy.wrap(badFn).should('not.throw')