cypress 12.3.0 → 12.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -114,7 +114,7 @@ declare function mount<T>(component: Type<T> | string, config?: MountConfig<T>):
114
114
  * import { mount, createOutputSpy } from '@cypress/angular'
115
115
  *
116
116
  * it('Has spy', () => {
117
- * mount(StepperComponent, { change: createOutputSpy('changeSpy') })
117
+ * mount(StepperComponent, { componentProperties: { change: createOutputSpy('changeSpy') } })
118
118
  * cy.get('[data-cy=increment]').click()
119
119
  * cy.get('@changeSpy').should('have.been.called')
120
120
  * })
@@ -286,7 +286,7 @@ function mount(component, config = {}) {
286
286
  * import { mount, createOutputSpy } from '@cypress/angular'
287
287
  *
288
288
  * it('Has spy', () => {
289
- * mount(StepperComponent, { change: createOutputSpy('changeSpy') })
289
+ * mount(StepperComponent, { componentProperties: { change: createOutputSpy('changeSpy') } })
290
290
  * cy.get('[data-cy=increment]').click()
291
291
  * cy.get('@changeSpy').should('have.been.called')
292
292
  * })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "12.3.0",
3
+ "version": "12.4.1",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node index.js --exec install",
@@ -118,8 +118,8 @@
118
118
  },
119
119
  "buildInfo": {
120
120
  "commitBranch": "develop",
121
- "commitSha": "5f536fef9b0962fef2373d07becba8313d5ef126",
122
- "commitDate": "2023-01-03T19:45:51.000Z",
121
+ "commitSha": "e0320f7e047b2115fa32cad9ecb720ca624cfe86",
122
+ "commitDate": "2023-01-26T22:20:47.000Z",
123
123
  "stable": true
124
124
  },
125
125
  "description": "Cypress is a next generation front end testing tool built for the modern web",
@@ -827,29 +827,13 @@ declare namespace Cypress {
827
827
  * @see https://on.cypress.io/variables-and-aliases
828
828
  * @see https://on.cypress.io/get
829
829
  * @example
830
- ```
831
- // Get the aliased 'todos' elements
832
- cy.get('ul#todos').as('todos')
833
- //...hack hack hack...
834
- // later retrieve the todos
835
- cy.get('@todos')
836
- ```
837
- */
838
- as(alias: string): Chainable<Subject>
839
-
840
- /**
841
- * Select a file with the given <input> element, or drag and drop a file over any DOM subject.
830
+ * // Get the aliased 'todos' elements
831
+ * cy.get('ul#todos').as('todos')
842
832
  *
843
- * @param {FileReference} files - The file(s) to select or drag onto this element.
844
- * @see https://on.cypress.io/selectfile
845
- * @example
846
- * cy.get('input[type=file]').selectFile(Cypress.Buffer.from('text'))
847
- * cy.get('input[type=file]').selectFile({
848
- * fileName: 'users.json',
849
- * contents: [{name: 'John Doe'}]
850
- * })
833
+ * // later retrieve the todos
834
+ * cy.get('@todos')
851
835
  */
852
- selectFile(files: FileReference | FileReference[], options?: Partial<SelectFileOptions>): Chainable<Subject>
836
+ as(alias: string, options?: Partial<AsOptions>): Chainable<Subject>
853
837
 
854
838
  /**
855
839
  * Blur a focused element. This element must currently be in focus.
@@ -1915,6 +1899,20 @@ declare namespace Cypress {
1915
1899
  */
1916
1900
  select(valueOrTextOrIndex: string | number | Array<string | number>, options?: Partial<SelectOptions>): Chainable<Subject>
1917
1901
 
1902
+ /**
1903
+ * Select a file with the given <input> element, or drag and drop a file over any DOM subject.
1904
+ *
1905
+ * @param {FileReference} files - The file(s) to select or drag onto this element.
1906
+ * @see https://on.cypress.io/selectfile
1907
+ * @example
1908
+ * cy.get('input[type=file]').selectFile(Cypress.Buffer.from('text'))
1909
+ * cy.get('input[type=file]').selectFile({
1910
+ * fileName: 'users.json',
1911
+ * contents: [{name: 'John Doe'}]
1912
+ * })
1913
+ */
1914
+ selectFile(files: FileReference | FileReference[], options?: Partial<SelectFileOptions>): Chainable<Subject>
1915
+
1918
1916
  /**
1919
1917
  * Set a browser cookie.
1920
1918
  *
@@ -2650,6 +2648,7 @@ declare namespace Cypress {
2650
2648
  waitForAnimations: boolean
2651
2649
  /**
2652
2650
  * The distance in pixels an element must exceed over time to be considered animating
2651
+ *
2653
2652
  * @default 5
2654
2653
  */
2655
2654
  animationDistanceThreshold: number
@@ -2661,15 +2660,20 @@ declare namespace Cypress {
2661
2660
  scrollBehavior: scrollBehaviorOptions
2662
2661
  }
2663
2662
 
2664
- interface SelectFileOptions extends Loggable, Timeoutable, ActionableOptions {
2663
+ /**
2664
+ * Options to affect how an alias is stored
2665
+ *
2666
+ * @see https://on.cypress.io/as
2667
+ */
2668
+ interface AsOptions {
2665
2669
  /**
2666
- * Which user action to perform. `select` matches selecting a file while
2667
- * `drag-drop` matches dragging files from the operating system into the
2668
- * document.
2670
+ * The type of alias to store, which impacts how the value is retrieved later in the test.
2671
+ * If an alias should be a 'query' (re-runs all queries leading up to the resulting value so it's alway up-to-date) or a
2672
+ * 'static' (read once when the alias is saved and is never updated). `type` has no effect when aliasing intercepts, spies, and stubs.
2669
2673
  *
2670
- * @default 'select'
2674
+ * @default 'query'
2671
2675
  */
2672
- action: 'select' | 'drag-drop'
2676
+ type: 'query' | 'static'
2673
2677
  }
2674
2678
 
2675
2679
  interface BlurOptions extends Loggable, Timeoutable, Forceable { }
@@ -3019,6 +3023,16 @@ declare namespace Cypress {
3019
3023
  * @see https://on.cypress.io/configuration#experimentalModifyObstructiveThirdPartyCode
3020
3024
  */
3021
3025
  experimentalModifyObstructiveThirdPartyCode: boolean
3026
+ /**
3027
+ * Disables setting document.domain to the applications super domain on injection.
3028
+ * This experiment is to be used for sites that do not work with setting document.domain
3029
+ * due to cross-origin issues. Enabling this option no longer allows for default subdomain
3030
+ * navigations, and will require the use of cy.origin(). This option takes an array of
3031
+ * strings/string globs.
3032
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/domain
3033
+ * @default null
3034
+ */
3035
+ experimentalSkipDomainInjection: string[] | null
3022
3036
  /**
3023
3037
  * Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm.
3024
3038
  * @default false
@@ -3034,6 +3048,11 @@ declare namespace Cypress {
3034
3048
  * @default false
3035
3049
  */
3036
3050
  experimentalWebKitSupport: boolean
3051
+ /**
3052
+ * Enables support for improved memory management within Chromium-based browsers.
3053
+ * @default false
3054
+ */
3055
+ experimentalMemoryManagement: boolean
3037
3056
  /**
3038
3057
  * Number of times to retry a failed test.
3039
3058
  * If a number is set, tests will retry in both runMode and openMode.
@@ -3500,6 +3519,17 @@ declare namespace Cypress {
3500
3519
 
3501
3520
  type SameSiteStatus = 'no_restriction' | 'strict' | 'lax'
3502
3521
 
3522
+ interface SelectFileOptions extends Loggable, Timeoutable, ActionableOptions {
3523
+ /**
3524
+ * Which user action to perform. `select` matches selecting a file while
3525
+ * `drag-drop` matches dragging files from the operating system into the
3526
+ * document.
3527
+ *
3528
+ * @default 'select'
3529
+ */
3530
+ action: 'select' | 'drag-drop'
3531
+ }
3532
+
3503
3533
  interface SetCookieOptions extends Loggable, Timeoutable {
3504
3534
  path: string
3505
3535
  domain: string
@@ -1320,14 +1320,14 @@ declare function mount<PropsOrPropOptions = {}, RawBindings = {}, D = {}, C exte
1320
1320
  wrapper: VueWrapper<InstanceType<DefineComponent<PropsOrPropOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PP, Props, Defaults>>>;
1321
1321
  component: VueWrapper<InstanceType<DefineComponent<PropsOrPropOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PP, Props, Defaults>>>['vm'];
1322
1322
  }>;
1323
- declare function mount<T extends DefineComponent<any, any, any, any>>(component: T, options?: ComponentMountingOptions<T>): Cypress.Chainable<{
1323
+ declare function mount<T extends DefineComponent<any, any, any, any, any>>(component: T, options?: ComponentMountingOptions<T>): Cypress.Chainable<{
1324
1324
  wrapper: VueWrapper<InstanceType<T>>;
1325
1325
  component: VueWrapper<InstanceType<T>>['vm'];
1326
1326
  }>;
1327
1327
  declare function mount<Props = {}, RawBindings = {}, D extends {} = {}, C extends ComputedOptions = {}, M extends Record<string, Function> = {}, E extends EmitsOptions = Record<string, any>, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string>(componentOptions: ComponentOptionsWithoutProps<Props, RawBindings, D, C, M, E, Mixin, Extends, EE>, options?: MountingOptions<Props & PublicProps, D>): Cypress.Chainable<{
1328
- wrapper: VueWrapper<ComponentPublicInstance<Props, RawBindings, D, C, M, E, VNodeProps & Props>>;
1329
- component: VueWrapper<ComponentPublicInstance<Props, RawBindings, D, C, M, E, VNodeProps & Props>>['vm'];
1330
- }> & Record<string, any>;
1328
+ wrapper: VueWrapper<ComponentPublicInstance<Props, RawBindings, D, C, M, E, VNodeProps & Props>> & Record<string, any>;
1329
+ component: VueWrapper<ComponentPublicInstance<Props, RawBindings, D, C, M, E, VNodeProps & Props>> & Record<string, any>['vm'];
1330
+ }>;
1331
1331
  declare function mount<PropNames extends string, RawBindings, D extends {}, C extends ComputedOptions = {}, M extends Record<string, Function> = {}, E extends EmitsOptions = Record<string, any>, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, EE extends string = string, Props extends Readonly<{
1332
1332
  [key in PropNames]?: any;
1333
1333
  }> = Readonly<{