2015-11-25 18:48:10 +01:00
|
|
|
Feature: Tab management
|
|
|
|
Tests for various :tab-* commands.
|
|
|
|
|
|
|
|
Background:
|
|
|
|
Given I clean up open tabs
|
2015-11-26 20:44:32 +01:00
|
|
|
And I set tabs -> tabs-are-windows to false
|
2015-11-25 18:48:10 +01:00
|
|
|
|
|
|
|
# :tab-close
|
|
|
|
|
|
|
|
Scenario: :tab-close
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
|
|
|
Scenario: :tab-close with count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close with count 1
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
|
|
|
Scenario: :tab-close with invalid count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close with count 23
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = next
|
|
|
|
When I set tabs -> select-on-remove to next
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = prev
|
|
|
|
When I set tabs -> select-on-remove to prev
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = last-used
|
|
|
|
When I set tabs -> select-on-remove to last-used
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I open data/numbers/4.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
- data/numbers/4.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 12:35:37 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = prev and --next
|
2016-10-18 11:40:17 +02:00
|
|
|
When I set tabs -> select-on-remove to prev
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2016-10-18 12:35:37 +02:00
|
|
|
And I run :tab-close --next
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 12:35:37 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = next and --prev
|
2016-10-18 11:40:17 +02:00
|
|
|
When I set tabs -> select-on-remove to next
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2016-10-18 12:35:37 +02:00
|
|
|
And I run :tab-close --prev
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = prev and --opposite
|
|
|
|
When I set tabs -> select-on-remove to prev
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close --opposite
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = next and --opposite
|
|
|
|
When I set tabs -> select-on-remove to next
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close --opposite
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 11:40:17 +02:00
|
|
|
Scenario: :tab-close with select-on-remove = last-used and --opposite
|
|
|
|
When I set tabs -> select-on-remove to last-used
|
2015-11-25 18:48:10 +01:00
|
|
|
And I run :tab-close --opposite
|
2016-10-18 11:40:17 +02:00
|
|
|
Then the error "-o is not supported with 'tabs->select-on-remove' set to 'last-used'!" should be shown
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-05-29 10:57:41 +02:00
|
|
|
Scenario: :tab-close should restore selection behavior
|
2016-10-18 11:40:17 +02:00
|
|
|
When I set tabs -> select-on-remove to next
|
2015-11-25 18:48:10 +01:00
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I open data/numbers/4.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2016-10-18 12:35:37 +02:00
|
|
|
And I run :tab-close --prev
|
2015-11-25 18:48:10 +01:00
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-close
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/4.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
|
|
|
# :tab-only
|
|
|
|
|
|
|
|
Scenario: :tab-only
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-only
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 12:55:58 +02:00
|
|
|
Scenario: :tab-only with --prev
|
2015-11-25 18:48:10 +01:00
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2016-10-18 12:55:58 +02:00
|
|
|
And I run :tab-only --prev
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 12:55:58 +02:00
|
|
|
Scenario: :tab-only with --next
|
2015-11-25 18:48:10 +01:00
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2016-10-18 12:55:58 +02:00
|
|
|
And I run :tab-only --next
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-25 18:48:10 +01:00
|
|
|
|
2016-10-18 12:55:58 +02:00
|
|
|
Scenario: :tab-only with --prev and --next
|
|
|
|
When I run :tab-only --prev --next
|
|
|
|
Then the error "Only one of -p/-n can be given!" should be shown
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
# :tab-focus
|
|
|
|
|
|
|
|
Scenario: :tab-focus with invalid index
|
|
|
|
When I run :tab-focus foo
|
2015-11-26 17:50:39 +01:00
|
|
|
Then the error "Invalid value foo." should be shown
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus with index
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus without index/count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-focus
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus with invalid index
|
|
|
|
When I run :tab-focus 23
|
2015-11-26 17:50:39 +01:00
|
|
|
Then the error "There's no tab with index 23!" should be shown
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus with very big index
|
|
|
|
When I run :tab-focus 99999999999999
|
2016-08-02 17:29:35 +02:00
|
|
|
Then the error "There's no tab with index 99999999999999!" should be shown
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus with count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus with count 2
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus with count and index
|
2016-08-02 17:29:35 +02:00
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 4 with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-26 00:48:39 +01:00
|
|
|
|
|
|
|
Scenario: :tab-focus last
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-focus 3
|
|
|
|
And I run :tab-focus last
|
2015-11-26 01:33:56 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
2015-11-26 00:48:39 +01:00
|
|
|
|
2016-04-09 03:05:47 +02:00
|
|
|
Scenario: :tab-focus with -1
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-focus -1
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-focus negative index
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus -2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
2016-09-30 08:33:16 +02:00
|
|
|
Scenario: :tab-focus with count 0
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus with count 1
|
|
|
|
And I run :tab-focus with count 0
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
2016-04-09 03:05:47 +02:00
|
|
|
Scenario: :tab-focus with invalid negative index
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus -5
|
|
|
|
Then the error "There's no tab with index -1!" should be shown
|
|
|
|
|
2015-11-26 00:48:39 +01:00
|
|
|
Scenario: :tab-focus last with no last focused tab
|
2016-08-12 00:00:18 +02:00
|
|
|
When I run :tab-focus last
|
2015-11-26 17:50:39 +01:00
|
|
|
Then the error "No last focused tab!" should be shown
|
2015-11-26 16:19:03 +01:00
|
|
|
|
|
|
|
# tab-prev/tab-next
|
|
|
|
|
|
|
|
Scenario: :tab-prev
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I run :tab-prev
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-next
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-next
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-prev with count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-prev with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
|
|
|
Scenario: :tab-next with count
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-next with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-prev on first tab without wrap
|
|
|
|
When I set tabs -> wrap to false
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I run :tab-prev
|
2015-11-26 17:50:39 +01:00
|
|
|
Then the error "First tab" should be shown
|
2015-11-26 16:19:03 +01:00
|
|
|
|
|
|
|
Scenario: :tab-next with last tab without wrap
|
|
|
|
When I set tabs -> wrap to false
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I run :tab-next
|
2015-11-26 17:50:39 +01:00
|
|
|
Then the error "Last tab" should be shown
|
2015-11-26 16:19:03 +01:00
|
|
|
|
|
|
|
Scenario: :tab-prev on first tab with wrap
|
|
|
|
When I set tabs -> wrap to true
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-prev
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-next with last tab with wrap
|
|
|
|
When I set tabs -> wrap to true
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-next
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
|
|
|
Scenario: :tab-next with last tab, wrap and count
|
|
|
|
When I set tabs -> wrap to true
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-next with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt (active)
|
|
|
|
- data/numbers/3.txt
|
2015-11-26 18:37:47 +01:00
|
|
|
|
|
|
|
# :tab-move
|
|
|
|
|
|
|
|
Scenario: :tab-move with absolute position.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with absolute position and count.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with absolute position and invalid count.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move with count 23
|
|
|
|
Then the error "Can't move tab to position 23!" should be shown.
|
|
|
|
And the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
2016-07-30 05:06:40 +02:00
|
|
|
Scenario: :tab-move with index.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with negative index.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move -3
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with invalid index.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move -5
|
|
|
|
Then the error "Can't move tab to position -1!" should be shown.
|
|
|
|
And the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-move with index and count.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move 1 with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with index and invalid count.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move -2 with count 4
|
|
|
|
Then the error "Can't move tab to position 4!" should be shown.
|
|
|
|
And the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
2015-11-26 18:37:47 +01:00
|
|
|
Scenario: :tab-move with relative position (negative).
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move -
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with relative position (positive).
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-move +
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with relative position (negative) and count.
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move - with count 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with relative position and too big count.
|
2015-12-02 02:17:54 +01:00
|
|
|
When I set tabs -> wrap to false
|
|
|
|
And I open data/numbers/1.txt
|
2015-11-26 18:37:47 +01:00
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-move + with count 3
|
|
|
|
Then the error "Can't move tab to position 4!" should be shown
|
|
|
|
|
2015-12-02 02:20:22 +01:00
|
|
|
Scenario: :tab-move with relative position (positive) and wrap
|
|
|
|
When I set tabs -> wrap to true
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-move +
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-move with relative position (negative), wrap and count
|
|
|
|
When I set tabs -> wrap to true
|
|
|
|
And I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-move - with count 8
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
2015-11-26 18:37:47 +01:00
|
|
|
Scenario: Make sure :tab-move retains metadata
|
|
|
|
When I open data/title.html
|
|
|
|
And I open data/hello.txt in a new tab
|
|
|
|
And I run :tab-focus 1
|
|
|
|
And I run :tab-move +
|
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: http://localhost:*/data/hello.txt
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
2015-11-26 20:44:32 +01:00
|
|
|
|
|
|
|
# :tab-clone
|
|
|
|
|
|
|
|
Scenario: :tab-clone with -b and -w
|
|
|
|
When I run :tab-clone -b -w
|
|
|
|
Then the error "Only one of -b/-w can be given!" should be shown.
|
|
|
|
|
|
|
|
Scenario: Cloning a tab with history and title
|
|
|
|
When I open data/title.html
|
|
|
|
And I run :tab-clone
|
2016-09-11 16:22:20 +02:00
|
|
|
And I wait until data/title.html is loaded
|
2015-11-26 20:44:32 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
|
|
|
|
|
|
|
Scenario: Cloning zoom value
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :zoom 120
|
|
|
|
And I run :tab-clone
|
2016-09-11 16:22:20 +02:00
|
|
|
And I wait until data/hello.txt is loaded
|
2015-11-26 20:44:32 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/hello.txt
|
|
|
|
zoom: 1.2
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/hello.txt
|
|
|
|
zoom: 1.2
|
|
|
|
|
|
|
|
Scenario: Cloning to background tab
|
2016-01-24 19:17:39 +01:00
|
|
|
When I open data/hello2.txt
|
2015-11-26 20:44:32 +01:00
|
|
|
And I run :tab-clone -b
|
2016-09-11 16:22:20 +02:00
|
|
|
And I wait until data/hello2.txt is loaded
|
2015-11-26 20:44:32 +01:00
|
|
|
Then the following tabs should be open:
|
2016-01-24 19:17:39 +01:00
|
|
|
- data/hello2.txt (active)
|
|
|
|
- data/hello2.txt
|
2015-11-26 20:44:32 +01:00
|
|
|
|
|
|
|
Scenario: Cloning to new window
|
|
|
|
When I open data/title.html
|
|
|
|
And I run :tab-clone -w
|
2016-09-11 16:22:20 +02:00
|
|
|
And I wait until data/title.html is loaded
|
2015-11-26 20:44:32 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
|
|
|
- tabs:
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
|
|
|
|
|
|
|
Scenario: Cloning with tabs-are-windows = true
|
|
|
|
When I open data/title.html
|
|
|
|
And I set tabs -> tabs-are-windows to true
|
|
|
|
And I run :tab-clone
|
2016-09-11 16:22:20 +02:00
|
|
|
And I wait until data/title.html is loaded
|
2015-11-26 20:44:32 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
|
|
|
- tabs:
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
title: Test title
|
2015-11-26 20:56:36 +01:00
|
|
|
|
|
|
|
# :tab-detach
|
|
|
|
|
|
|
|
Scenario: Detaching a tab
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I run :tab-detach
|
2015-11-27 15:18:53 +01:00
|
|
|
And I wait until data/numbers/2.txt is loaded
|
2015-11-26 20:56:36 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/numbers/1.txt
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: http://localhost:*/data/numbers/2.txt
|
2016-01-06 18:24:33 +01:00
|
|
|
|
2016-08-15 23:36:39 +02:00
|
|
|
Scenario: Detach tab from window with only one tab
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :tab-detach
|
|
|
|
Then the error "Cannot detach one tab." should be shown
|
|
|
|
|
2016-01-06 18:24:33 +01:00
|
|
|
# :undo
|
|
|
|
|
|
|
|
Scenario: Undo without any closed tabs
|
|
|
|
Given I have a fresh instance
|
|
|
|
When I run :undo
|
|
|
|
Then the error "Nothing to undo!" should be shown
|
|
|
|
|
|
|
|
Scenario: Undo closing a tab
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt
|
|
|
|
And I run :tab-close
|
|
|
|
And I run :undo
|
2016-01-18 23:08:16 +01:00
|
|
|
And I wait until data/numbers/3.txt is loaded
|
2016-01-06 18:24:33 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/numbers/1.txt
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: http://localhost:*/data/numbers/2.txt
|
|
|
|
- url: http://localhost:*/data/numbers/3.txt
|
|
|
|
|
2016-09-06 21:43:02 +02:00
|
|
|
@qtwebengine_flaky
|
2016-01-06 18:24:33 +01:00
|
|
|
Scenario: Undo with auto-created last tab
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I set tabs -> last-close to blank
|
|
|
|
And I run :tab-close
|
2016-01-19 06:16:07 +01:00
|
|
|
And I wait until about:blank is loaded
|
2016-01-06 18:24:33 +01:00
|
|
|
And I run :undo
|
2016-01-18 23:08:16 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-01-06 18:24:33 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/hello.txt (active)
|
|
|
|
|
2016-09-06 21:43:02 +02:00
|
|
|
@qtwebengine_flaky
|
2016-01-06 18:24:33 +01:00
|
|
|
Scenario: Undo with auto-created last tab, with history
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I open data/hello2.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I set tabs -> last-close to blank
|
|
|
|
And I run :tab-close
|
2016-01-19 06:16:07 +01:00
|
|
|
And I wait until about:blank is loaded
|
2016-01-06 18:24:33 +01:00
|
|
|
And I run :undo
|
2016-01-18 23:08:16 +01:00
|
|
|
And I wait until data/hello2.txt is loaded
|
2016-01-06 18:24:33 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/hello2.txt (active)
|
2016-01-18 07:08:07 +01:00
|
|
|
|
|
|
|
Scenario: Undo with auto-created last tab (startpage)
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I set tabs -> last-close to startpage
|
|
|
|
And I set general -> startpage to http://localhost:(port)/data/numbers/4.txt,http://localhost:(port)/data/numbers/5.txt
|
|
|
|
And I run :tab-close
|
2016-01-19 06:16:07 +01:00
|
|
|
And I wait until data/numbers/4.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
And I run :undo
|
2016-01-18 23:08:16 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/hello.txt (active)
|
|
|
|
|
|
|
|
Scenario: Undo with auto-created last tab (default-page)
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I set tabs -> last-close to default-page
|
|
|
|
And I set general -> default-page to http://localhost:(port)/data/numbers/6.txt
|
|
|
|
And I run :tab-close
|
2016-01-19 06:16:07 +01:00
|
|
|
And I wait until data/numbers/6.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
And I run :undo
|
2016-01-18 23:08:16 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/hello.txt (active)
|
|
|
|
|
2016-04-19 23:27:45 +02:00
|
|
|
Scenario: Double-undo with single tab on last-close default page
|
|
|
|
Given I have a fresh instance
|
|
|
|
When I open about:blank
|
|
|
|
And I set tabs -> last-close to default-page
|
|
|
|
And I set general -> default-page to about:blank
|
|
|
|
And I run :undo
|
2016-04-21 03:25:31 +02:00
|
|
|
And I run :undo
|
2016-04-19 23:27:45 +02:00
|
|
|
Then the error "Nothing to undo!" should be shown
|
2016-04-21 03:25:31 +02:00
|
|
|
And the error "Nothing to undo!" should be shown
|
2016-04-19 23:27:45 +02:00
|
|
|
|
2016-08-10 13:12:02 +02:00
|
|
|
Scenario: Undo a tab closed by index
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close with count 1
|
|
|
|
And I run :undo
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
|
|
|
Scenario: Undo a tab closed after switching tabs
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close with count 1
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :undo
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
|
|
|
Scenario: Undo a tab closed after rearranging tabs
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-close with count 1
|
|
|
|
And I run :tab-focus 2
|
|
|
|
And I run :tab-move with count 1
|
|
|
|
And I run :undo
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/3.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: Undo a tab closed after new tab opened
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I run :tab-close with count 1
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :undo
|
2016-09-06 15:50:27 +02:00
|
|
|
And I wait until data/numbers/1.txt is loaded
|
2016-08-10 13:12:02 +02:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt
|
|
|
|
|
2016-01-18 07:08:07 +01:00
|
|
|
# last-close
|
|
|
|
|
2016-09-06 16:36:50 +02:00
|
|
|
# FIXME:qtwebengine
|
|
|
|
@qtwebengine_skip: Waits for an earlier about:blank and fails
|
2016-01-18 07:08:07 +01:00
|
|
|
Scenario: last-close = blank
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I set tabs -> last-close to blank
|
|
|
|
And I run :tab-only
|
|
|
|
And I run :tab-close
|
2016-01-18 07:33:17 +01:00
|
|
|
And I wait until about:blank is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- about:blank (active)
|
|
|
|
|
|
|
|
Scenario: last-close = startpage
|
|
|
|
When I set general -> startpage to http://localhost:(port)/data/numbers/7.txt,http://localhost:(port)/data/numbers/8.txt
|
|
|
|
And I set tabs -> last-close to startpage
|
|
|
|
And I open data/hello.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I run :tab-close
|
2016-01-18 07:33:17 +01:00
|
|
|
And I wait until data/numbers/7.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/7.txt (active)
|
|
|
|
|
|
|
|
Scenario: last-close = default-page
|
|
|
|
When I set general -> default-page to http://localhost:(port)/data/numbers/9.txt
|
|
|
|
And I set tabs -> last-close to default-page
|
|
|
|
And I open data/hello.txt
|
|
|
|
And I run :tab-only
|
|
|
|
And I run :tab-close
|
2016-01-18 07:33:17 +01:00
|
|
|
And I wait until data/numbers/9.txt is loaded
|
2016-01-18 07:08:07 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/9.txt (active)
|
|
|
|
|
|
|
|
Scenario: last-close = close
|
|
|
|
When I open data/hello.txt
|
|
|
|
And I set tabs -> last-close to close
|
|
|
|
And I run :tab-only
|
|
|
|
And I run :tab-close
|
|
|
|
Then qutebrowser should quit
|
2016-03-24 10:09:19 +01:00
|
|
|
|
|
|
|
# tab settings
|
|
|
|
|
|
|
|
Scenario: opening links with tabs->background-tabs true
|
|
|
|
When I set tabs -> background-tabs to true
|
2016-04-15 23:19:08 +02:00
|
|
|
And I open data/hints/html/simple.html
|
2016-08-18 17:21:50 +02:00
|
|
|
And I hint with args "all tab" and follow a
|
2016-03-24 12:20:08 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-03-24 10:09:19 +01:00
|
|
|
Then the following tabs should be open:
|
2016-04-15 23:19:08 +02:00
|
|
|
- data/hints/html/simple.html (active)
|
2016-03-24 10:09:19 +01:00
|
|
|
- data/hello.txt
|
|
|
|
|
2016-10-18 14:46:16 +02:00
|
|
|
Scenario: opening tab with tabs->new-tab-position prev
|
|
|
|
When I set tabs -> new-tab-position to prev
|
2016-03-24 10:09:19 +01:00
|
|
|
And I set tabs -> background-tabs to false
|
|
|
|
And I open about:blank
|
2016-04-15 23:19:08 +02:00
|
|
|
And I open data/hints/html/simple.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id link --target=tab
|
2016-03-24 11:40:10 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-03-24 10:09:19 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- about:blank
|
|
|
|
- data/hello.txt (active)
|
2016-04-15 23:19:08 +02:00
|
|
|
- data/hints/html/simple.html
|
2016-03-24 10:09:19 +01:00
|
|
|
|
2016-10-18 14:46:16 +02:00
|
|
|
Scenario: opening tab with tabs->new-tab-position next
|
|
|
|
When I set tabs -> new-tab-position to next
|
2016-03-24 10:09:19 +01:00
|
|
|
And I set tabs -> background-tabs to false
|
|
|
|
And I open about:blank
|
2016-04-15 23:19:08 +02:00
|
|
|
And I open data/hints/html/simple.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id link --target=tab
|
2016-03-24 11:40:10 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-03-24 10:09:19 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- about:blank
|
2016-04-15 23:19:08 +02:00
|
|
|
- data/hints/html/simple.html
|
2016-03-24 10:09:19 +01:00
|
|
|
- data/hello.txt (active)
|
|
|
|
|
|
|
|
Scenario: opening tab with tabs->new-tab-position first
|
|
|
|
When I set tabs -> new-tab-position to first
|
2016-03-24 10:20:21 +01:00
|
|
|
And I set tabs -> background-tabs to false
|
2016-03-24 10:09:19 +01:00
|
|
|
And I open about:blank
|
2016-04-15 23:19:08 +02:00
|
|
|
And I open data/hints/html/simple.html in a new tab
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id link --target=tab
|
2016-03-24 11:40:10 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-03-24 10:09:19 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/hello.txt (active)
|
|
|
|
- about:blank
|
2016-04-15 23:19:08 +02:00
|
|
|
- data/hints/html/simple.html
|
2016-03-24 10:09:19 +01:00
|
|
|
|
|
|
|
Scenario: opening tab with tabs->new-tab-position last
|
|
|
|
When I set tabs -> new-tab-position to last
|
2016-03-24 10:20:21 +01:00
|
|
|
And I set tabs -> background-tabs to false
|
2016-04-15 23:19:08 +02:00
|
|
|
And I open data/hints/html/simple.html
|
2016-03-24 10:09:19 +01:00
|
|
|
And I open about:blank in a new tab
|
|
|
|
And I run :tab-focus last
|
2016-08-18 16:13:38 +02:00
|
|
|
And I run :click-element id link --target=tab
|
2016-03-24 11:40:10 +01:00
|
|
|
And I wait until data/hello.txt is loaded
|
2016-03-24 10:09:19 +01:00
|
|
|
Then the following tabs should be open:
|
2016-04-15 23:19:08 +02:00
|
|
|
- data/hints/html/simple.html
|
2016-03-24 10:09:19 +01:00
|
|
|
- about:blank
|
|
|
|
- data/hello.txt (active)
|
2016-03-07 22:24:04 +01:00
|
|
|
|
|
|
|
# :buffer
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer without args
|
2016-03-07 22:24:04 +01:00
|
|
|
When I run :buffer
|
|
|
|
Then the error "buffer: The following arguments are required: index" should be shown
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with a matching title
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I open data/search.html in a new tab
|
2016-08-11 11:47:37 +02:00
|
|
|
And I open data/scroll/simple.html in a new tab
|
2016-03-07 22:24:04 +01:00
|
|
|
And I run :buffer "Searching text"
|
2016-07-05 09:59:25 +02:00
|
|
|
And I wait for "Current tab changed, focusing <qutebrowser.browser.* tab_id=* url='http://localhost:*/data/search.html'>" in the log
|
2016-03-07 22:24:04 +01:00
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/title.html
|
|
|
|
- data/search.html (active)
|
2016-08-11 11:47:37 +02:00
|
|
|
- data/scroll/simple.html
|
2016-03-07 22:24:04 +01:00
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with no matching title
|
2016-03-07 22:24:04 +01:00
|
|
|
When I run :buffer "invalid title"
|
|
|
|
Then the error "No matching tab for: invalid title" should be shown
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with matching title and two windows
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I open data/search.html in a new tab
|
2016-08-11 11:47:37 +02:00
|
|
|
And I open data/scroll/simple.html in a new tab
|
2016-03-07 22:24:04 +01:00
|
|
|
And I open data/caret.html in a new window
|
|
|
|
And I open data/paste_primary.html in a new tab
|
|
|
|
And I run :buffer "Scrolling"
|
2016-08-18 22:57:21 +02:00
|
|
|
And I wait for "Focus object changed: *" in the log
|
2016-03-07 22:24:04 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- active: true
|
|
|
|
tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
- history:
|
|
|
|
- url: http://localhost:*/data/search.html
|
|
|
|
- active: true
|
|
|
|
history:
|
2016-08-11 11:47:37 +02:00
|
|
|
- url: http://localhost:*/data/scroll/simple.html
|
2016-03-07 22:24:04 +01:00
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: http://localhost:*/data/caret.html
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: http://localhost:*/data/paste_primary.html
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with no matching index
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "666"
|
|
|
|
Then the error "There's no tab with index 666!" should be shown
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with no matching window index
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
2016-08-12 00:00:18 +02:00
|
|
|
And I run :buffer "99/1"
|
|
|
|
Then the error "There's no window with id 99!" should be shown
|
2016-03-07 22:24:04 +01:00
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with matching window index
|
2016-03-07 22:24:04 +01:00
|
|
|
Given I have a fresh instance
|
|
|
|
When I open data/title.html
|
|
|
|
And I open data/search.html in a new tab
|
2016-08-11 11:47:37 +02:00
|
|
|
And I open data/scroll/simple.html in a new tab
|
2016-03-07 22:24:04 +01:00
|
|
|
And I run :open -w http://localhost:(port)/data/caret.html
|
|
|
|
And I open data/paste_primary.html in a new tab
|
|
|
|
And I wait until data/caret.html is loaded
|
|
|
|
And I run :buffer "0/2"
|
2016-08-18 22:57:21 +02:00
|
|
|
And I wait for "Focus object changed: *" in the log
|
2016-03-07 22:24:04 +01:00
|
|
|
Then the session should look like:
|
|
|
|
windows:
|
|
|
|
- active: true
|
|
|
|
tabs:
|
|
|
|
- history:
|
|
|
|
- url: about:blank
|
|
|
|
- url: http://localhost:*/data/title.html
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: http://localhost:*/data/search.html
|
|
|
|
- history:
|
2016-08-11 11:47:37 +02:00
|
|
|
- url: http://localhost:*/data/scroll/simple.html
|
2016-03-07 22:24:04 +01:00
|
|
|
- tabs:
|
|
|
|
- history:
|
|
|
|
- url: http://localhost:*/data/caret.html
|
|
|
|
- active: true
|
|
|
|
history:
|
|
|
|
- url: http://localhost:*/data/paste_primary.html
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with wrong argument (-1)
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "-1"
|
|
|
|
Then the error "There's no tab with index -1!" should be shown
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with wrong argument (/)
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "/"
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/title.html (active)
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with wrong argument (//)
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "//"
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/title.html (active)
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with wrong argument (0/x)
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "0/x"
|
|
|
|
Then the error "No matching tab for: 0/x" should be shown
|
|
|
|
|
2016-04-21 19:47:26 +02:00
|
|
|
Scenario: :buffer with wrong argument (1/2/3)
|
2016-03-07 22:24:04 +01:00
|
|
|
When I open data/title.html
|
|
|
|
And I run :buffer "1/2/3"
|
|
|
|
Then the error "No matching tab for: 1/2/3" should be shown
|
2016-05-18 06:37:26 +02:00
|
|
|
|
2016-04-25 18:53:35 +02:00
|
|
|
Scenario: Using :tab-next after closing last tab (#1448)
|
|
|
|
When I set tabs -> last-close to close
|
|
|
|
And I run :tab-only
|
2016-09-30 22:55:51 +02:00
|
|
|
And I run :tab-close ;; tab-next
|
2016-04-25 18:53:35 +02:00
|
|
|
Then qutebrowser should quit
|
|
|
|
And no crash should happen
|
|
|
|
|
|
|
|
Scenario: Using :tab-prev after closing last tab (#1448)
|
|
|
|
When I set tabs -> last-close to close
|
|
|
|
And I run :tab-only
|
2016-09-30 22:55:51 +02:00
|
|
|
And I run :tab-close ;; tab-prev
|
2016-04-25 18:53:35 +02:00
|
|
|
Then qutebrowser should quit
|
|
|
|
And no crash should happen
|
2016-11-16 07:48:12 +01:00
|
|
|
|
|
|
|
# :tab-pin
|
|
|
|
|
|
|
|
Scenario: :tab-pin command
|
|
|
|
When I open data/numbers/1.txt
|
|
|
|
And I open data/numbers/2.txt in a new tab
|
|
|
|
And I open data/numbers/3.txt in a new tab
|
|
|
|
And I run :tab-pin
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-pin unpin
|
|
|
|
When I run :tab-pin
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
|
|
|
|
Scenario: :tab-pin to index 2
|
|
|
|
When I run :tab-pin 2
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/2.txt
|
|
|
|
|
|
|
|
Scenario: :tab-pin unpin to index 1
|
|
|
|
When I run :tab-pin 1
|
|
|
|
Then the following tabs should be open:
|
|
|
|
- data/numbers/3.txt (active)
|
|
|
|
- data/numbers/1.txt
|
|
|
|
- data/numbers/2.txt
|