spreewald 2.4.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c226a047c194764d7645b43c70ab3b07d1a3e7a0d609a4e87dd8baab8e3c3a88
4
- data.tar.gz: ecdfa9f9aa7fe19da7bc3a8e2f7852a80d4d397f4342e873fe89a32276c9f9d0
3
+ metadata.gz: 1168c34206078cc51317c0b55250cd4413120277f76dd08207e33ab0ad14defb
4
+ data.tar.gz: 203c60be6904e5fbd56cc114a9e2b2bcc08cb50be8fa2f30159ef0a8041b4d6f
5
5
  SHA512:
6
- metadata.gz: d2e322bb7fb70096255ade88045b40408f0d1b0899120f159ea5831b65a40bc5a4d7d2bfb0b9b9ede7ba3f7b8aca0a904129076c7c49cafc7c6780bcd0e329d1
7
- data.tar.gz: 190918ee162ba71606593416c1ae87f1f963a92f316f10f0c7c50f6a3217c7bc1670ccd1412372faa75504d4c0bbff98bd7dd49b88470a3ee162f477052fff5b
6
+ metadata.gz: 17930b95e19e14be451f87fc2ebf13877b1b377f57a15a29f8d7feba1bcfbbd0f35405c107db24a3955e2741070f91fba5e77c6c4ff0f66199b46aee9a9cbd9c
7
+ data.tar.gz: 95584eefb31f7b90a6b9c49ec9bc9930aed8bead0fc4930075af317c9a5dd9131291d8f59b8696f30d409b77779fe8dcfdadf04dfe113344eba6374116523e8b
@@ -3,8 +3,19 @@ All notable changes to this project will be documented in this file.
3
3
 
4
4
  This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## 2.5.0
7
+ - Add a set of steps to control browser tabs (Selenium only):
8
+ * `I open ... in a new browser tab`
9
+ * `I close the browser tab`
10
+ * `I switch to the new browser tab`
11
+ * `I switch to the previous browser tab`
12
+ * `I may open a new browser tab` (required for the following step)
13
+ * `I should( not)? have opened a new browser tab`
14
+ * `there should be (\d+) browser tabs?`
15
+ * `there should be at least (\d+) browser tabs?`
16
+
6
17
  ## 2.4.2
7
- * Fix the step `I should( not)? see a link labeled "STRING"`, it is now overridable.
18
+ - Fix the step `I should( not)? see a link labeled "STRING"`, it is now overridable.
8
19
 
9
20
  ## 2.4.1
10
21
 
data/README.md CHANGED
@@ -38,6 +38,7 @@ single files like this:
38
38
  require 'spreewald/email_steps'
39
39
  require 'spreewald/web_steps'
40
40
 
41
+ Have a look at our [recommended Capybara defaults](#recommended-capybara-defaults) as they impact the behavior of many Spreewald steps.
41
42
 
42
43
  ## Spreewald binary
43
44
 
@@ -83,7 +84,7 @@ More info [here](https://makandracards.com/makandra/12139-waiting-for-page-load-
83
84
  Thanks to [cucumber_priority](https://github.com/makandra/cucumber_priority) you can override any step definition from Spreewald with your own pattern. Cucumber will not raise `Cucumber::Ambiguous` if your custom steps collide with a Spreewald step.
84
85
 
85
86
 
86
- ## A note on Capybara 3
87
+ ## Recommended Capybara defaults
87
88
 
88
89
  If you are upgrading from Capybara 2 to Capybara 3, you might [see failing tests](https://github.com/makandra/spreewald/issues/95) with Spreewald steps like `I should see`. This is caused by a breaking change in [Capybara's Finders](https://www.rubydoc.info/github/jnicklas/capybara/Capybara/Node/Finders) that accept a `:text` option. To activate Capybara 2 behavior globally in your project, enable this flag:
89
90
 
@@ -99,6 +100,12 @@ Furthermore, we recommend setting [Capybara's matching strategy](https://github.
99
100
  Capybara.match = :prefer_exact
100
101
  ````
101
102
 
103
+ If you want Spreewald to match fields, links and buttons against the `aria-label` attribute, enable the following global configuration in Capybara 2.8+:
104
+
105
+ ```ruby
106
+ Capybara.enable_aria_label = true
107
+ ```
108
+
102
109
  ## Contributing
103
110
 
104
111
  ### Testing
@@ -132,6 +139,54 @@ the step definitions.
132
139
 
133
140
  ## Steps
134
141
 
142
+ ### browser_tab_steps.rb
143
+
144
+ * **When I open ... in a new browser tab**
145
+
146
+ Opens [the page](https://github.com/makandra/spreewald/blob/master/examples/paths.rb) in a new browser tab and switches to it.
147
+
148
+
149
+ * **When I close the browser tab**
150
+
151
+ Closes the current browser tab and switches back to the first tab.
152
+
153
+
154
+ * **When I switch to the new(ly opened)? browser tab**
155
+
156
+ Waits for the new browser tab to appear, then switches to it.
157
+
158
+
159
+ * **When I switch( back)? to the previous browser tab**
160
+
161
+ Changes the browser context to the second-last browser tab.
162
+
163
+
164
+ * **When I may open a new browser tab**
165
+
166
+ Required for the check whether a new browser tab was opened or not.
167
+
168
+
169
+ * **Then I should( not)? have opened a new browser tab**
170
+
171
+ Example (positive expectation):
172
+
173
+ When I may open a new browser tab
174
+ And I click on "Open link in new browser tab"
175
+ Then I should have opened a new browser tab
176
+
177
+ Example (negative expectation):
178
+
179
+ When I may open a new browser tab
180
+ And I click on "Open link in current browser tab"
181
+ Then I should not have opened a new browser tab
182
+
183
+
184
+ * **Then there should be (\d+) browser tabs?**
185
+
186
+
187
+ * **Then there should be at least (\d+) browser tabs?**
188
+
189
+
135
190
  ### development_steps.rb
136
191
 
137
192
  * **Then it should work...?**
@@ -146,14 +201,14 @@ the step definitions.
146
201
  for its job)
147
202
 
148
203
 
149
- * **AfterStep @slow**
204
+ * **AfterStep @slow-motion**
150
205
 
151
206
  Waits 2 seconds after each step
152
207
 
153
208
 
154
- * **AfterStep @single**
209
+ * **AfterStep @single-step**
155
210
 
156
- Waits for keypress after each step
211
+ Waits for a keypress after each step
157
212
 
158
213
 
159
214
  ### email_steps.rb
@@ -643,9 +698,6 @@ deprecation notice. Decide for yourself whether you want to use them:
643
698
  * **When I enter "..." into the browser dialog**
644
699
 
645
700
 
646
- * **When I switch to the new tab**
647
-
648
-
649
701
  * **Then the "..." (field|button|checkbox) should( not)? be disabled**
650
702
 
651
703
  Tests that an input, button or checkbox with the given label is disabled.
data/Rakefile CHANGED
@@ -44,11 +44,16 @@ task :update_readme do
44
44
  require 'support/step_manager'
45
45
  end
46
46
 
47
- readme = File.read('README.md')
48
- start_of_steps_section = readme =~ /^## Steps/
49
- length_of_steps_section = (readme[(start_of_steps_section+1)..-1] =~ /^##[^#]/) || readme.size - start_of_steps_section
50
- readme[start_of_steps_section, length_of_steps_section] = "## Steps\n\n" + StepManager.new('lib/spreewald').to_markdown
51
- File.open(readme_path, 'w') { |f| f.write(readme) }
47
+ readme = File.read(readme_path)
48
+ File.open(readme_path, 'w') do |file|
49
+ start_of_steps_section = readme =~ /^## Steps/
50
+ length_of_steps_section = readme[(start_of_steps_section+1)..-1] =~ /^##[^#]/
51
+ length_of_steps_section ||= readme.size - start_of_steps_section
52
+ step_documentation = StepManager.new('lib/spreewald').to_markdown
53
+ readme[start_of_steps_section, length_of_steps_section] = "## Steps\n\n#{step_documentation}"
54
+
55
+ file.write(readme)
56
+ end
52
57
 
53
58
  system "git diff #{readme_path}"
54
59
  puts '', '> Done (diff applied).'
@@ -0,0 +1,91 @@
1
+ Before do
2
+ @previous_browser_tabs_count = nil
3
+ end
4
+
5
+ # Close all but the first browser tab
6
+ After do
7
+ next unless selenium_driver?
8
+
9
+ browser.switch_to.window(browser.window_handles.last)
10
+ while browser.window_handles.size > 1 do
11
+ browser.close
12
+ browser.switch_to.window(browser.window_handles.last)
13
+ end
14
+ end
15
+
16
+ # Opens [the page](https://github.com/makandra/spreewald/blob/master/examples/paths.rb) in a new browser tab and switches to it.
17
+ When /^I open (.+?) in a new browser tab$/ do |page_name|
18
+ require_selenium!
19
+ previous_handles_count = browser.window_handles.size
20
+ relative_target_path = path_to(page_name)
21
+
22
+ page.execute_script "window.open('#{relative_target_path}', '_blank')"
23
+ step "there should be #{previous_handles_count + 1} browser tabs"
24
+ step "I switch to the new browser tab"
25
+ end.overridable
26
+
27
+ # Closes the current browser tab and switches back to the first tab.
28
+ When 'I close the browser tab' do
29
+ require_selenium!
30
+ # Wait for browser tab to close
31
+ previous_handles_count = browser.window_handles.size
32
+ raise 'Cannot close the last remaining browser tab' if previous_handles_count == 1
33
+
34
+ browser.close
35
+ step "there should be #{previous_handles_count - 1} browser tabs"
36
+
37
+ # Closing the current tab causes Selenium to continue using a stale invalid tab handle
38
+ browser.switch_to.window(browser.window_handles.first)
39
+ end.overridable
40
+
41
+ # Waits for the new browser tab to appear, then switches to it.
42
+ When /^I switch to the new(?:ly opened)? browser tab$/ do
43
+ require_selenium!
44
+ step 'there should be at least 2 browser tabs'
45
+ browser.switch_to.window(browser.window_handles.last)
46
+ end.overridable
47
+
48
+ # Changes the browser context to the second-last browser tab.
49
+ When /^I switch(?: back)? to the previous browser tab$/ do
50
+ require_selenium!
51
+ previous_handle = browser.window_handles[-2] # Second last should be the previous browser tab
52
+ previous_handle ||= browser.window_handles.first # Fall back if only one tab is left
53
+ browser.switch_to.window(previous_handle)
54
+ end.overridable
55
+
56
+ # Required for the check whether a new browser tab was opened or not.
57
+ When 'I may open a new browser tab' do
58
+ @previous_browser_tabs_count = browser.window_handles.size
59
+ end.overridable
60
+
61
+ # Example (positive expectation):
62
+ #
63
+ # When I may open a new browser tab
64
+ # And I click on "Open link in new browser tab"
65
+ # Then I should have opened a new browser tab
66
+ #
67
+ # Example (negative expectation):
68
+ #
69
+ # When I may open a new browser tab
70
+ # And I click on "Open link in current browser tab"
71
+ # Then I should not have opened a new browser tab
72
+ Then /^I should( not)? have opened a new browser tab$/ do |negate|
73
+ raise "you need to use the 'I may open a new tab' step beforehand" unless @previous_browser_tabs_count
74
+ expected_browser_tab_count = negate ? @previous_browser_tabs_count : (@previous_browser_tabs_count + 1)
75
+
76
+ step "there should be #{expected_browser_tab_count} browser tabs"
77
+ end.overridable
78
+
79
+ Then /^there should be (\d+) browser tabs?$/ do |expected_browser_tabs|
80
+ patiently do
81
+ actual_browser_tabs = browser.window_handles.size
82
+ expect(actual_browser_tabs).to eq(expected_browser_tabs.to_i), "Expected #{expected_browser_tabs} browser tab to be open, but found #{actual_browser_tabs}"
83
+ end
84
+ end.overridable
85
+
86
+ Then /^there should be at least (\d+) browser tabs?$/ do |expected_browser_tabs|
87
+ patiently do
88
+ actual_browser_tabs = browser.window_handles.size
89
+ expect(actual_browser_tabs).to be >= (expected_browser_tabs.to_i), "Expected at least #{expected_browser_tabs} browser tab to be open, but found #{actual_browser_tabs}"
90
+ end
91
+ end.overridable
@@ -57,7 +57,7 @@ AfterStep('@slow-motion') do
57
57
  sleep 2
58
58
  end
59
59
 
60
- # Waits for keypress after each step
60
+ # Waits for a keypress after each step
61
61
  AfterStep('@single-step') do
62
62
  print "Single Stepping. Hit enter to continue"
63
63
  STDIN.getc
@@ -641,32 +641,24 @@ end.overridable
641
641
 
642
642
  When /^I confirm the browser dialog$/ do
643
643
  patiently do
644
- page.driver.browser.switch_to.alert.accept
644
+ browser.switch_to.alert.accept
645
645
  end
646
646
  end.overridable
647
647
 
648
648
  When /^I cancel the browser dialog$/ do
649
649
  patiently do
650
- page.driver.browser.switch_to.alert.dismiss
650
+ browser.switch_to.alert.dismiss
651
651
  end
652
652
  end.overridable
653
653
 
654
654
  When /^I enter "([^"]*)" into the browser dialog$/ do |text|
655
655
  patiently do
656
- alert = page.driver.browser.switch_to.alert
656
+ alert = browser.switch_to.alert
657
657
  alert.send_keys(text)
658
658
  alert.accept
659
659
  end
660
660
  end.overridable
661
661
 
662
- When /^I switch to the new tab$/ do
663
- if javascript_capable?
664
- page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
665
- else
666
- raise("This step works only with selenium")
667
- end
668
- end.overridable
669
-
670
662
  # Tests that an input, button or checkbox with the given label is disabled.
671
663
  Then /^the "([^\"]*)" (field|button|checkbox) should( not)? be disabled$/ do |label, kind, negate|
672
664
  if Spreewald::Comparison.compare_versions(Capybara::VERSION, :<, "2.1")
@@ -728,7 +720,7 @@ When /^I perform basic authentication as "([^\"]*)\/([^\"]*)" and go to (.*)$/ d
728
720
  visit("http://#{user}:#{password}@#{server.host}:#{server.port}#{path}")
729
721
  else
730
722
  authorizers = [
731
- (page.driver.browser if page.driver.respond_to?(:browser)),
723
+ (browser),
732
724
  (self),
733
725
  (page.driver)
734
726
  ].compact
@@ -17,6 +17,14 @@ module Spreewald
17
17
  Object.const_defined?('Capybara::Webkit') && Capybara.current_session.driver.is_a?(Capybara::Webkit::Driver)
18
18
  end
19
19
 
20
+ def browser
21
+ page.driver.browser if page.driver.respond_to?(:browser)
22
+ end
23
+
24
+ def require_selenium!
25
+ raise 'This step only works with Selenium' unless selenium_driver?
26
+ end
27
+
20
28
  end
21
29
  end
22
30
 
@@ -1,3 +1,3 @@
1
1
  module Spreewald
2
- VERSION = '2.4.2'
2
+ VERSION = '2.5.0'
3
3
  end
@@ -37,7 +37,7 @@ class StepDefinition
37
37
 
38
38
  def pretty_step
39
39
  if kind == 'AfterStep'
40
- step[/@\w+/]
40
+ step[/@[\w-]+/]
41
41
  elsif step =~ /^'(.*)'$/ # Surrounded by single quotes
42
42
  $1
43
43
  else
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.4.2)
4
+ spreewald (2.5.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.4.2)
4
+ spreewald (2.5.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.4.1)
4
+ spreewald (2.5.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -22,4 +22,4 @@ group :test do
22
22
  gem 'selenium-webdriver'
23
23
  gem 'rspec-rails'
24
24
  gem 'spreewald', :path => '../..'
25
- end
25
+ end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.4.1)
4
+ spreewald (2.5.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -21,6 +21,15 @@ class StaticPagesController < ApplicationController
21
21
  def see_element
22
22
  end
23
23
 
24
+ def tab_1
25
+ end
26
+
27
+ def tab_2
28
+ end
29
+
30
+ def tab_3
31
+ end
32
+
24
33
  def visibility
25
34
  end
26
35
 
@@ -0,0 +1,3 @@
1
+ %h1 First browser tab
2
+ %a(href='/static_pages/tab_2' target='_blank') Click to open tab 2
3
+ %a(href='/static_pages/tab_2') Follow link WITHOUT opening a new tab
@@ -0,0 +1,2 @@
1
+ %h1 Second browser tab
2
+ %a(href='/static_pages/tab_3' target='_blank') Click to open tab 3
@@ -0,0 +1 @@
1
+ %h1 Third browser tab
@@ -18,15 +18,18 @@ Rails.application.routes.draw do
18
18
 
19
19
  get '/static_pages/click_on', to: 'static_pages#click_on'
20
20
  get '/static_pages/home', to: 'static_pages#home'
21
+ get '/static_pages/link_target', to: 'static_pages#link_target'
21
22
  get '/static_pages/link_to_home', to: 'static_pages#link_to_home'
22
23
  get '/static_pages/links', to: 'static_pages#links'
23
24
  get '/static_pages/numbers', to: 'static_pages#numbers'
24
25
  get '/static_pages/overridden', to: 'static_pages#overridden'
26
+ get '/static_pages/second_link_target', to: 'static_pages#second_link_target'
25
27
  get '/static_pages/see_element', to: 'static_pages#see_element'
28
+ get '/static_pages/tab_1', to: 'static_pages#tab_1'
29
+ get '/static_pages/tab_2', to: 'static_pages#tab_2'
30
+ get '/static_pages/tab_3', to: 'static_pages#tab_3'
26
31
  get '/static_pages/visibility', to: 'static_pages#visibility'
27
32
  get '/static_pages/within', to: 'static_pages#within'
28
- get '/static_pages/link_target', to: 'static_pages#link_target'
29
- get '/static_pages/second_link_target', to: 'static_pages#second_link_target'
30
33
 
31
34
  get '/tables/table1', to: 'tables#table1'
32
35
  get '/tables/table_with_weird_spaces', to: 'tables#table_with_weird_spaces'
@@ -0,0 +1,103 @@
1
+ @javascript
2
+ Feature: Browser tab steps
3
+
4
+ Background: Access some content in a first tab
5
+ Given I go to "/static_pages/tab_1"
6
+ Then I should see "First browser tab"
7
+ And there should be 1 browser tab
8
+
9
+
10
+ Scenario: I open (.+?) in a new browser tab
11
+ When I open "/static_pages/tab_2" in a new browser tab
12
+ Then I should see "Second browser tab"
13
+ And there should be 2 browser tabs
14
+
15
+ When I open "/static_pages/tab_3" in a new browser tab
16
+ Then I should see "Third browser tab"
17
+ And there should be 3 browser tabs
18
+
19
+
20
+ Scenario: I close the browser tab
21
+ When I open "/static_pages/tab_2" in a new browser tab
22
+ And I open "/static_pages/tab_3" in a new browser tab
23
+ Then I should see "Third browser tab"
24
+ And there should be 3 browser tabs
25
+
26
+ When I close the browser tab
27
+ Then there should be 2 browser tabs
28
+ And I should see "First browser tab"
29
+
30
+ When I close the browser tab
31
+ Then there should be 1 browser tab
32
+ And I should see "Second browser tab"
33
+
34
+
35
+ Scenario: I switch to the new(?:ly opened)? browser tab
36
+ When I follow "Click to open tab 2"
37
+ Then I should see "First browser tab"
38
+
39
+ When I switch to the newly opened browser tab
40
+ Then I should see "Second browser tab"
41
+
42
+ When I follow "Click to open tab 3"
43
+ And I switch to the new browser tab
44
+ Then I should see "Third browser tab"
45
+
46
+
47
+ Scenario: I switch(?: back)? to the previous browser tab
48
+ When I open "/static_pages/tab_2" in a new browser tab
49
+ Then I should see "Second browser tab"
50
+ And there should be 2 browser tabs
51
+
52
+ When I switch back to the previous browser tab
53
+ Then I should see "First browser tab"
54
+ And there should be 2 browser tabs
55
+
56
+ And I open "/static_pages/tab_3" in a new browser tab
57
+ Then I should see "Third browser tab"
58
+ And there should be 3 browser tabs
59
+
60
+ When I switch to the previous browser tab
61
+ Then I should see "Second browser tab"
62
+ And there should be 3 browser tabs
63
+
64
+
65
+ Scenario: I should have opened a new browser tab
66
+ This step must be preceded by "I may open a new browser tab"
67
+
68
+ When I may open a new browser tab
69
+ And I follow "Click to open tab 2"
70
+ Then I should have opened a new browser tab
71
+ And there should be 2 browser tabs
72
+
73
+
74
+ Scenario: I should not have opened a new browser tab
75
+ This step must be preceded by "I may open a new browser tab"
76
+
77
+ When I may open a new browser tab
78
+ And I follow "Follow link WITHOUT opening a new tab"
79
+ Then I should not have opened a new browser tab
80
+ And there should be 1 browser tabs
81
+
82
+
83
+ Scenario: there should be (\d+) browser tabs?
84
+ Given there should be 1 browser tab
85
+ When I open "/static_pages/tab_2" in a new browser tab
86
+ Then there should be 2 browser tabs
87
+
88
+ When I open "/static_pages/tab_3" in a new browser tab
89
+ Then there should be 3 browser tabs
90
+
91
+ When I open "/static_pages/tab_3" in a new browser tab
92
+ Then there should be 4 browser tabs
93
+
94
+
95
+ Scenario: there should be at least (\d+) browser tabs?
96
+ Given there should be at least 1 browser tab
97
+ When I open "/static_pages/tab_2" in a new browser tab
98
+ Then there should be at least 2 browser tabs
99
+
100
+ When I open "/static_pages/tab_3" in a new browser tab
101
+ Then there should be at least 1 browser tabs
102
+ Then there should be at least 2 browser tabs
103
+ Then there should be at least 3 browser tabs
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spreewald
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.2
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Kraze
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-22 00:00:00.000000000 Z
11
+ date: 2020-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -154,6 +154,7 @@ files:
154
154
  - features/support/aruba.rb
155
155
  - lib/spreewald.rb
156
156
  - lib/spreewald/all_steps.rb
157
+ - lib/spreewald/browser_tab_steps.rb
157
158
  - lib/spreewald/development_steps.rb
158
159
  - lib/spreewald/email_steps.rb
159
160
  - lib/spreewald/file_attachment_steps.rb
@@ -349,6 +350,9 @@ files:
349
350
  - tests/shared/app/views/static_pages/numbers.html.haml
350
351
  - tests/shared/app/views/static_pages/overridden.html.haml
351
352
  - tests/shared/app/views/static_pages/see_element.html.haml
353
+ - tests/shared/app/views/static_pages/tab_1.haml
354
+ - tests/shared/app/views/static_pages/tab_2.haml
355
+ - tests/shared/app/views/static_pages/tab_3.haml
352
356
  - tests/shared/app/views/static_pages/visibility.html.haml
353
357
  - tests/shared/app/views/static_pages/within.html.haml
354
358
  - tests/shared/app/views/tables/table1.html.haml
@@ -359,6 +363,7 @@ files:
359
363
  - tests/shared/db/development.sqlite3
360
364
  - tests/shared/db/migrate/.keep
361
365
  - tests/shared/db/schema.rb
366
+ - tests/shared/features/shared/browser_tab_steps.feature
362
367
  - tests/shared/features/shared/development_steps.feature
363
368
  - tests/shared/features/shared/email_steps.feature
364
369
  - tests/shared/features/shared/overriding.feature
@@ -391,7 +396,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
391
396
  - !ruby/object:Gem::Version
392
397
  version: '0'
393
398
  requirements: []
394
- rubygems_version: 3.1.2
399
+ rubygems_version: 3.1.4
395
400
  signing_key:
396
401
  specification_version: 4
397
402
  summary: Collection of useful cucumber steps.
@@ -564,6 +569,9 @@ test_files:
564
569
  - tests/shared/app/views/static_pages/numbers.html.haml
565
570
  - tests/shared/app/views/static_pages/overridden.html.haml
566
571
  - tests/shared/app/views/static_pages/see_element.html.haml
572
+ - tests/shared/app/views/static_pages/tab_1.haml
573
+ - tests/shared/app/views/static_pages/tab_2.haml
574
+ - tests/shared/app/views/static_pages/tab_3.haml
567
575
  - tests/shared/app/views/static_pages/visibility.html.haml
568
576
  - tests/shared/app/views/static_pages/within.html.haml
569
577
  - tests/shared/app/views/tables/table1.html.haml
@@ -574,6 +582,7 @@ test_files:
574
582
  - tests/shared/db/development.sqlite3
575
583
  - tests/shared/db/migrate/.keep
576
584
  - tests/shared/db/schema.rb
585
+ - tests/shared/features/shared/browser_tab_steps.feature
577
586
  - tests/shared/features/shared/development_steps.feature
578
587
  - tests/shared/features/shared/email_steps.feature
579
588
  - tests/shared/features/shared/overriding.feature