b6145d98a4
With the addition of :window-only, it's no longer necessary to use "Given I have a fresh instance" to clean up previous windows. This greatly cuts down on the amount of process restarts that need to happen to complete a full testing cycle. I also made one of the tests more robust against order alterations, and removed some unnecessary extra commands that were already implied by the background on others.
150 lines
5.5 KiB
Gherkin
150 lines
5.5 KiB
Gherkin
Feature: Going back and forward.
|
|
Testing the :back/:forward commands.
|
|
|
|
Scenario: Going back/forward
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I run :tab-only
|
|
And I run :back
|
|
And I wait until data/backforward/1.txt is loaded
|
|
And I reload
|
|
And I run :forward
|
|
And I wait until data/backforward/2.txt is loaded
|
|
And I reload
|
|
Then the requests should be:
|
|
data/backforward/1.txt
|
|
data/backforward/2.txt
|
|
data/backforward/1.txt
|
|
data/backforward/2.txt
|
|
And the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- history:
|
|
- url: http://localhost:*/data/backforward/1.txt
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/2.txt
|
|
|
|
Scenario: Going back in a new tab
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I run :tab-only
|
|
And I run :back -t
|
|
And I wait until data/backforward/1.txt is loaded
|
|
Then the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- history:
|
|
- url: http://localhost:*/data/backforward/1.txt
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/2.txt
|
|
- active: true
|
|
history:
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/1.txt
|
|
- url: http://localhost:*/data/backforward/2.txt
|
|
|
|
Scenario: Going back in a new tab without history
|
|
Given I open data/backforward/1.txt
|
|
When I run :tab-only
|
|
And I run :back -t
|
|
Then the error "At beginning of history." should be shown
|
|
Then the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- active: true
|
|
history:
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/1.txt
|
|
|
|
Scenario: Going back in a new background tab
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I run :tab-only
|
|
And I run :back -b
|
|
And I wait until data/backforward/1.txt is loaded
|
|
Then the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- active: true
|
|
history:
|
|
- url: http://localhost:*/data/backforward/1.txt
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/2.txt
|
|
- history:
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/1.txt
|
|
- url: http://localhost:*/data/backforward/2.txt
|
|
|
|
Scenario: Going back with count.
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I open data/backforward/3.txt
|
|
And I run :tab-only
|
|
And I run :back with count 2
|
|
And I wait until data/backforward/1.txt is loaded
|
|
And I reload
|
|
Then the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- history:
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/1.txt
|
|
- url: http://localhost:*/data/backforward/2.txt
|
|
- url: http://localhost:*/data/backforward/3.txt
|
|
|
|
Scenario: Going back too much with count.
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I open data/backforward/3.txt
|
|
And I run :back with count 3
|
|
Then the error "At beginning of history." should be shown
|
|
|
|
Scenario: Going back with very big count.
|
|
Given I open data/backforward/1.txt
|
|
When I run :back with count 99999999999
|
|
# Make sure it doesn't hang
|
|
And I run :message-info "Still alive!"
|
|
Then the error "At beginning of history." should be shown
|
|
And the message "Still alive!" should be shown
|
|
|
|
Scenario: Going back in a new window
|
|
Given I clean up open tabs
|
|
When I open data/backforward/1.txt
|
|
And I open data/backforward/2.txt
|
|
And I run :back -w
|
|
And I wait until data/backforward/1.txt is loaded
|
|
Then the session should look like:
|
|
windows:
|
|
- tabs:
|
|
- active: true
|
|
history:
|
|
- url: about:blank
|
|
- url: http://localhost:*/data/backforward/1.txt
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/2.txt
|
|
- tabs:
|
|
- active: true
|
|
history:
|
|
- url: about:blank
|
|
- active: true
|
|
url: http://localhost:*/data/backforward/1.txt
|
|
- url: http://localhost:*/data/backforward/2.txt
|
|
|
|
Scenario: Going back without history
|
|
Given I open data/backforward/1.txt
|
|
When I run :back
|
|
Then the error "At beginning of history." should be shown
|
|
|
|
Scenario: Going forward without history
|
|
Given I open data/backforward/1.txt
|
|
When I run :forward
|
|
Then the error "At end of history." should be shown
|
|
|
|
Scenario: Going forward too much with count.
|
|
Given I open data/backforward/1.txt
|
|
When I open data/backforward/2.txt
|
|
And I open data/backforward/3.txt
|
|
And I run :back with count 2
|
|
And I run :forward with count 3
|
|
Then the error "At end of history." should be shown
|