mirror of
https://github.com/cypress-io/cypress.git
synced 2026-03-11 03:49:47 -05:00
driver: fix cy.viewport not changing viewport if only height changes
This commit is contained in:
@@ -46,7 +46,7 @@ module.exports = (Commands, Cypress, cy, state, config) ->
|
||||
state(viewport)
|
||||
|
||||
new Promise (resolve) ->
|
||||
if currentViewport.viewportWidth is width and currentViewport.viewportHeight
|
||||
if currentViewport.viewportWidth is width and currentViewport.viewportHeight is height
|
||||
## noop if viewport won't change
|
||||
return resolve(currentViewport)
|
||||
|
||||
|
||||
@@ -457,7 +457,7 @@ describe "src/cy/commands/window", ->
|
||||
|
||||
Cypress.prependListener("viewport:changed", fn)
|
||||
|
||||
cy.viewport(1000, 600).then ->
|
||||
cy.viewport(1000, 660).then ->
|
||||
Cypress.removeListener("viewport:changed", fn)
|
||||
|
||||
it "does not trigger 'viewport:changed' when changing to the same viewport", ->
|
||||
@@ -473,6 +473,40 @@ describe "src/cy/commands/window", ->
|
||||
cy.viewport(800, 600).then ->
|
||||
Cypress.removeListener("viewport:changed", fn)
|
||||
|
||||
it "triggers 'viewport:changed' if width changes", (done) ->
|
||||
finished = false
|
||||
setTimeout ->
|
||||
if not finished
|
||||
done("Timed out before 'viewport:changed'")
|
||||
, 1000
|
||||
triggeredOnce = false
|
||||
cy.on "viewport:changed", (viewport) ->
|
||||
if triggeredOnce
|
||||
expect(viewport).to.eql({ viewportWidth: 900, viewportHeight: 600 })
|
||||
finished = true
|
||||
done()
|
||||
triggeredOnce = true
|
||||
|
||||
cy.viewport(800, 600)
|
||||
cy.viewport(900, 600)
|
||||
|
||||
it "triggers 'viewport:changed' if height changes", (done) ->
|
||||
finished = false
|
||||
setTimeout ->
|
||||
if not finished
|
||||
done("Timed out before 'viewport:changed'")
|
||||
, 1000
|
||||
triggeredOnce = false
|
||||
cy.on "viewport:changed", (viewport) ->
|
||||
if triggeredOnce
|
||||
expect(viewport).to.eql({ viewportWidth: 800, viewportHeight: 700 })
|
||||
finished = true
|
||||
done()
|
||||
triggeredOnce = true
|
||||
|
||||
cy.viewport(800, 600)
|
||||
cy.viewport(800, 700)
|
||||
|
||||
it "sets subject to null", ->
|
||||
cy.viewport("ipad-2").then (subject) ->
|
||||
expect(subject).to.be.null
|
||||
|
||||
Reference in New Issue
Block a user