spreewald 2.2.4 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -1
  3. data/.travis.yml +14 -15
  4. data/CHANGELOG.md +34 -2
  5. data/Gemfile +1 -2
  6. data/Gemfile.lock +1 -16
  7. data/Gemfile.ruby266 +9 -0
  8. data/Gemfile.ruby266.lock +65 -0
  9. data/README.md +76 -34
  10. data/Rakefile +22 -7
  11. data/examples/paths.rb +36 -0
  12. data/examples/selectors.rb +28 -0
  13. data/lib/spreewald/all_steps.rb +4 -1
  14. data/lib/spreewald/browser_tab_steps.rb +91 -0
  15. data/lib/spreewald/development_steps.rb +2 -1
  16. data/lib/spreewald/email_steps.rb +11 -4
  17. data/lib/spreewald/file_attachment_steps.rb +3 -21
  18. data/lib/spreewald/time_steps.rb +102 -0
  19. data/lib/spreewald/timecop_steps.rb +6 -76
  20. data/lib/spreewald/web_steps.rb +8 -16
  21. data/lib/spreewald_support/driver_info.rb +8 -0
  22. data/lib/spreewald_support/tolerance_for_selenium_sync_issues.rb +9 -3
  23. data/lib/spreewald_support/version.rb +1 -1
  24. data/support/step_definition.rb +1 -1
  25. data/support/step_definition_file.rb +2 -0
  26. data/tests/rails-3_capybara-1/Gemfile +2 -1
  27. data/tests/rails-3_capybara-1/Gemfile.lock +3 -1
  28. data/tests/rails-3_capybara-1/app +1 -1
  29. data/tests/rails-3_capybara-1/config/cucumber.yml +1 -1
  30. data/tests/rails-3_capybara-1/config/database.yml +1 -1
  31. data/tests/rails-3_capybara-1/config/routes.rb +1 -0
  32. data/tests/rails-3_capybara-1/db +1 -1
  33. data/tests/rails-3_capybara-1/features/shared +1 -1
  34. data/tests/rails-3_capybara-1/features/support/paths.rb +1 -1
  35. data/tests/rails-3_capybara-1/features/support/selectors.rb +1 -1
  36. data/tests/rails-3_capybara-1/public +1 -1
  37. data/tests/rails-3_capybara-2/Gemfile +2 -1
  38. data/tests/rails-3_capybara-2/Gemfile.lock +3 -1
  39. data/tests/rails-3_capybara-2/Rakefile +1 -1
  40. data/tests/rails-3_capybara-2/app +1 -1
  41. data/tests/rails-3_capybara-2/config +1 -1
  42. data/tests/rails-3_capybara-2/config.ru +1 -1
  43. data/tests/rails-3_capybara-2/db +1 -1
  44. data/tests/rails-3_capybara-2/features +1 -1
  45. data/tests/rails-3_capybara-2/public +1 -1
  46. data/tests/rails-3_capybara-2/script +1 -1
  47. data/tests/rails-4_capybara-3/Gemfile +1 -1
  48. data/tests/rails-4_capybara-3/Gemfile.lock +3 -3
  49. data/tests/rails-4_capybara-3/app +1 -1
  50. data/tests/rails-4_capybara-3/config/routes.rb +1 -0
  51. data/tests/rails-4_capybara-3/db +1 -1
  52. data/tests/rails-4_capybara-3/features/development_steps.feature +1 -1
  53. data/tests/rails-4_capybara-3/features/email_steps.feature +1 -1
  54. data/tests/rails-4_capybara-3/features/overriding.feature +1 -1
  55. data/tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb +1 -1
  56. data/tests/rails-4_capybara-3/features/step_definitions/test_steps.rb +1 -1
  57. data/tests/rails-4_capybara-3/features/support/paths.rb +1 -1
  58. data/tests/rails-4_capybara-3/features/support/selectors.rb +1 -1
  59. data/tests/rails-4_capybara-3/features/table_steps.feature +1 -1
  60. data/tests/rails-4_capybara-3/features/time_steps.feature +1 -0
  61. data/tests/rails-4_capybara-3/features/web_steps.feature +1 -1
  62. data/tests/rails-4_capybara-3/public/fixture_files +1 -1
  63. data/tests/rails-6_capybara-3/.ruby-version +1 -0
  64. data/tests/rails-6_capybara-3/Gemfile +25 -0
  65. data/tests/rails-6_capybara-3/Gemfile.lock +264 -0
  66. data/tests/rails-6_capybara-3/README.md +24 -0
  67. data/tests/rails-6_capybara-3/Rakefile +6 -0
  68. data/tests/rails-6_capybara-3/app/controllers +1 -0
  69. data/tests/rails-6_capybara-3/app/mailers/application_mailer.rb +4 -0
  70. data/tests/rails-6_capybara-3/app/mailers/spreewald_mailer.rb +30 -0
  71. data/tests/rails-6_capybara-3/app/models/application_record.rb +3 -0
  72. data/tests/rails-6_capybara-3/app/views +1 -0
  73. data/tests/rails-6_capybara-3/bin/bundle +114 -0
  74. data/tests/rails-6_capybara-3/bin/rails +4 -0
  75. data/tests/rails-6_capybara-3/bin/rake +4 -0
  76. data/tests/rails-6_capybara-3/bin/setup +33 -0
  77. data/tests/rails-6_capybara-3/config.ru +5 -0
  78. data/tests/rails-6_capybara-3/config/application.rb +35 -0
  79. data/tests/rails-6_capybara-3/config/boot.rb +3 -0
  80. data/tests/rails-6_capybara-3/config/cucumber.yml +9 -0
  81. data/tests/rails-6_capybara-3/config/database.yml +25 -0
  82. data/tests/rails-6_capybara-3/config/environment.rb +5 -0
  83. data/tests/rails-6_capybara-3/config/environments/development.rb +48 -0
  84. data/tests/rails-6_capybara-3/config/environments/test.rb +45 -0
  85. data/tests/rails-6_capybara-3/config/initializers/application_controller_renderer.rb +8 -0
  86. data/tests/rails-6_capybara-3/config/initializers/backtrace_silencers.rb +7 -0
  87. data/tests/rails-6_capybara-3/config/initializers/content_security_policy.rb +28 -0
  88. data/tests/rails-6_capybara-3/config/initializers/cookies_serializer.rb +5 -0
  89. data/tests/rails-6_capybara-3/config/initializers/filter_parameter_logging.rb +4 -0
  90. data/tests/rails-6_capybara-3/config/initializers/inflections.rb +16 -0
  91. data/tests/rails-6_capybara-3/config/initializers/mime_types.rb +4 -0
  92. data/tests/rails-6_capybara-3/config/initializers/wrap_parameters.rb +14 -0
  93. data/tests/rails-6_capybara-3/config/locales/en.yml +33 -0
  94. data/tests/rails-6_capybara-3/config/routes.rb +1 -0
  95. data/tests/rails-6_capybara-3/db +1 -0
  96. data/tests/rails-6_capybara-3/features/development_steps.feature +1 -0
  97. data/tests/rails-6_capybara-3/features/email_steps.feature +1 -0
  98. data/tests/rails-6_capybara-3/features/overriding.feature +1 -0
  99. data/tests/{shared/app/views/emails/send_email.haml → rails-6_capybara-3/features/step_definitions/.gitkeep} +0 -0
  100. data/tests/rails-6_capybara-3/features/step_definitions/overriding_steps.rb +1 -0
  101. data/tests/rails-6_capybara-3/features/step_definitions/test_steps.rb +1 -0
  102. data/tests/rails-6_capybara-3/features/support/env.rb +66 -0
  103. data/tests/rails-6_capybara-3/features/support/paths.rb +1 -0
  104. data/tests/rails-6_capybara-3/features/support/selectors.rb +1 -0
  105. data/tests/rails-6_capybara-3/features/support/selenium.rb +3 -0
  106. data/tests/rails-6_capybara-3/features/table_steps.feature +1 -0
  107. data/tests/rails-6_capybara-3/features/time_steps.feature +1 -0
  108. data/tests/rails-6_capybara-3/features/web_steps.feature +1 -0
  109. data/tests/{shared/db/migrate/.gitignore → rails-6_capybara-3/lib/tasks/.keep} +0 -0
  110. data/tests/rails-6_capybara-3/lib/tasks/cucumber.rake +76 -0
  111. data/tests/rails-6_capybara-3/log/.keep +0 -0
  112. data/tests/rails-6_capybara-3/public/404.html +67 -0
  113. data/tests/rails-6_capybara-3/public/422.html +67 -0
  114. data/tests/rails-6_capybara-3/public/500.html +66 -0
  115. data/tests/rails-6_capybara-3/public/favicon.ico +0 -0
  116. data/tests/rails-6_capybara-3/public/fixture_files +1 -0
  117. data/tests/rails-6_capybara-3/script/cucumber +11 -0
  118. data/tests/shared/app/controllers/application_controller.rb +9 -0
  119. data/tests/shared/app/controllers/authenticated_controller.rb +10 -2
  120. data/tests/shared/app/controllers/emails_controller.rb +25 -7
  121. data/tests/shared/app/controllers/forms_controller.rb +3 -0
  122. data/tests/shared/app/controllers/static_pages_controller.rb +23 -0
  123. data/tests/shared/app/models/mailer.rb +16 -0
  124. data/tests/shared/app/views/layouts/mailer.html.erb +13 -0
  125. data/tests/shared/app/views/layouts/mailer.text.erb +1 -0
  126. data/tests/shared/app/views/mailer/{email.haml → email.text.erb} +0 -0
  127. data/tests/shared/app/views/mailer/html_email_with_links.haml +6 -0
  128. data/tests/shared/app/views/mailer/text_email_with_links.text.erb +6 -0
  129. data/tests/shared/app/views/spreewald_mailer +1 -0
  130. data/tests/shared/app/views/static_pages/tab_1.haml +3 -0
  131. data/tests/shared/app/views/static_pages/tab_2.haml +2 -0
  132. data/tests/shared/app/views/static_pages/tab_3.haml +1 -0
  133. data/tests/shared/app/views/static_pages/time.html.haml +2 -0
  134. data/tests/shared/app/views/static_pages/visibility.html.haml +8 -1
  135. data/tests/shared/app/views/static_pages/within.html.haml +3 -0
  136. data/tests/shared/config/routes.rb +37 -0
  137. data/tests/shared/db/migrate/.keep +0 -0
  138. data/tests/shared/features/shared/browser_tab_steps.feature +103 -0
  139. data/tests/shared/features/shared/email_steps.feature +18 -0
  140. data/tests/shared/features/shared/time_steps.feature +31 -0
  141. data/tests/shared/features/shared/web_steps.feature +17 -0
  142. metadata +149 -12
  143. data/tests/rails-3_capybara-1/config/routes.rb +0 -5
  144. data/tests/rails-4_capybara-3/.gitignore +0 -17
  145. data/tests/rails-4_capybara-3/config/routes.rb +0 -3
@@ -35,7 +35,7 @@ require 'uri'
35
35
  require 'cgi'
36
36
 
37
37
 
38
- # You can append `within [selector]` to any other web step.
38
+ # You can append `within [selector]` to any other web step, even multiple times.
39
39
  # Be aware that within will only look at the first element that matches.
40
40
  # If this is a problem for you following links, you might want to have a look
41
41
  # at the 'When I follow "..." inside any "..."'-step.
@@ -322,7 +322,7 @@ Then /^I should( not)? see a link labeled "([^"]*)"$/ do |negate, label|
322
322
  expectation = negate ? :not_to : :to
323
323
  link = page.first('a', :text => label, minimum: 0) || page.first(%(a[title="#{label}"]), minimum: 0)
324
324
  expect(link).send(expectation, be_present)
325
- end
325
+ end.overridable
326
326
 
327
327
  # Checks that an input field contains some value (allowing * as wildcard character)
328
328
  Then /^the "([^"]*)" field should (not )?contain "([^"]*)"$/ do |label, negate, expected_string|
@@ -463,7 +463,7 @@ end.overridable
463
463
  #
464
464
  # Attention: Doesn't work with Selenium, see https://github.com/jnicklas/capybara#gotchas
465
465
  Then /^I should get a download with filename "([^\"]*)"$/ do |filename|
466
- expect(page.response_headers['Content-Disposition']).to match /filename="#{Regexp.escape(filename)}"$/
466
+ expect(page.response_headers['Content-Disposition']).to match /filename="#{Regexp.escape(filename)}"(;|$)/
467
467
  end.overridable
468
468
 
469
469
  # Checks that a certain option is selected for a text field
@@ -526,7 +526,7 @@ end.overridable
526
526
  # Within a selenium test, the browser is asked whether the element is really visible
527
527
  # In a non-selenium test, we only check for `.hidden`, `.invisible` or `style: display:none`
528
528
  #
529
- # The step 'Then (the tag )?"..." should **not** be visible' is ambiguous. Please use 'Then (the tag )?"..." should be hidden' or 'Then I should not see "..."' instead.
529
+ # The step 'Then (the tag )?"..." should **not** be visible' is ambiguous. Please use 'Then (the tag )?"..." should be hidden' or 'Then I should not see "..."' instead. Note that the **not** option will be removed in future versions of Spreewald.
530
530
  #
531
531
  # More details [here](https://makandracards.com/makandra/1049-capybara-check-that-a-page-element-is-hidden-via-css)
532
532
  Then /^(the tag )?"([^\"]+)" should( not)? be visible$/ do |tag, selector_or_text, hidden|
@@ -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
 
@@ -38,22 +38,28 @@ module ToleranceForSeleniumSyncIssues
38
38
  WAIT_PERIOD = 0.05
39
39
 
40
40
  def patiently(seconds, &block)
41
- started = Time.now
41
+ started = monotonic_time
42
42
  tries = 0
43
43
  begin
44
44
  tries += 1
45
45
  block.call
46
46
  rescue Exception => e
47
47
  raise e unless retryable_error?(e)
48
- raise e if (Time.now - started > seconds && tries >= 2)
48
+ raise e if (monotonic_time - started > seconds && tries >= 2)
49
49
  sleep(WAIT_PERIOD)
50
- raise Capybara::FrozenInTime, "time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead" if Time.now == started
50
+ raise Capybara::FrozenInTime, "time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead" if monotonic_time == started
51
51
  retry
52
52
  end
53
53
  end
54
54
 
55
55
  private
56
56
 
57
+ def monotonic_time
58
+ # We use the system clock (i.e. seconds since boot) to calculate the time,
59
+ # because Time.now may be frozen
60
+ Process.clock_gettime(Process::CLOCK_MONOTONIC)
61
+ end
62
+
57
63
  def retryable_error?(e)
58
64
  RETRY_ERRORS.include?(e.class.name)
59
65
  end
@@ -1,3 +1,3 @@
1
1
  module Spreewald
2
- VERSION = '2.2.4'
2
+ VERSION = '2.6.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
@@ -16,6 +16,8 @@ class StepDefinitionFile
16
16
  end
17
17
 
18
18
  def to_markdown
19
+ return '' if @comment =~ /\bnodoc\b/
20
+
19
21
  spaced_comment = "\n\n" + @comment if @comment
20
22
 
21
23
  <<-TEXT
@@ -16,4 +16,5 @@ group :test do
16
16
  gem 'selenium-webdriver'
17
17
  gem 'rspec-rails'
18
18
  gem 'spreewald', :path => '../..'
19
- end
19
+ gem 'timecop'
20
+ end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.2.4)
4
+ spreewald (2.6.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -150,6 +150,7 @@ GEM
150
150
  sqlite3 (1.3.8)
151
151
  thor (0.18.1)
152
152
  tilt (1.4.1)
153
+ timecop (0.9.1)
153
154
  treetop (1.4.12)
154
155
  polyglot
155
156
  polyglot (>= 0.3.1)
@@ -175,6 +176,7 @@ DEPENDENCIES
175
176
  selenium-webdriver
176
177
  spreewald!
177
178
  sqlite3
179
+ timecop
178
180
 
179
181
  BUNDLED WITH
180
182
  1.17.3
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/../shared/app
1
+ ../shared/app
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/config/../../shared/config/cucumber.yml
1
+ ../../shared/config/cucumber.yml
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/config/../../shared/config/database.yml
1
+ ../../shared/config/database.yml
@@ -0,0 +1 @@
1
+ ../../shared/config/routes.rb
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/../shared/db
1
+ ../shared/db
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/features/../../shared/features/shared
1
+ ../../shared/features/shared
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/features/support/../../../shared/features/support/paths.rb
1
+ ../../../shared/features/support/paths.rb
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/features/support/../../../shared/features/support/selectors.rb
1
+ ../../../shared/features/support/selectors.rb
@@ -1 +1 @@
1
- tests/rails-3_capybara-1/../shared/public
1
+ ../shared/public
@@ -17,4 +17,5 @@ group :test do
17
17
  gem 'selenium-webdriver'
18
18
  gem 'rspec-rails'
19
19
  gem 'spreewald', :path => '../..'
20
- end
20
+ gem 'timecop'
21
+ end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.2.4)
4
+ spreewald (2.6.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -158,6 +158,7 @@ GEM
158
158
  sqlite3 (1.3.8)
159
159
  thor (0.18.1)
160
160
  tilt (1.4.1)
161
+ timecop (0.9.1)
161
162
  treetop (1.4.12)
162
163
  polyglot
163
164
  polyglot (>= 0.3.1)
@@ -184,6 +185,7 @@ DEPENDENCIES
184
185
  selenium-webdriver
185
186
  spreewald!
186
187
  sqlite3
188
+ timecop
187
189
 
188
190
  BUNDLED WITH
189
191
  1.17.3
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/Rakefile
1
+ ../rails-3_capybara-1/Rakefile
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/app
1
+ ../rails-3_capybara-1/app
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/config
1
+ ../rails-3_capybara-1/config
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/config.ru
1
+ ../rails-3_capybara-1/config.ru
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/db
1
+ ../rails-3_capybara-1/db
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/features/
1
+ ../rails-3_capybara-1/features/
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/public
1
+ ../rails-3_capybara-1/public
@@ -1 +1 @@
1
- tests/rails-3_capybara-2/../rails-3_capybara-1/script/
1
+ ../rails-3_capybara-1/script/
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  group :test do
16
16
  gem 'database_cleaner'
17
- gem 'capybara', "~>3" # todo
17
+ gem 'capybara', "~>3"
18
18
  gem 'capybara-screenshot'
19
19
  gem 'cucumber-rails', require: false
20
20
  gem 'cucumber'
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (2.2.4)
4
+ spreewald (2.6.0)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
  rspec (>= 2.13.0)
@@ -135,7 +135,7 @@ GEM
135
135
  coderay (~> 1.1.0)
136
136
  method_source (~> 0.9.0)
137
137
  public_suffix (3.0.3)
138
- rack (1.6.11)
138
+ rack (1.6.12)
139
139
  rack-test (0.6.3)
140
140
  rack (>= 1.0)
141
141
  rails (4.2.11)
@@ -187,7 +187,7 @@ GEM
187
187
  rspec-support (3.8.0)
188
188
  ruby_parser (3.12.0)
189
189
  sexp_processor (~> 4.9)
190
- rubyzip (1.2.2)
190
+ rubyzip (1.3.0)
191
191
  selenium-webdriver (3.141.0)
192
192
  childprocess (~> 0.5)
193
193
  rubyzip (~> 1.2, >= 1.2.2)
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/../shared/app/
1
+ ../shared/app/
@@ -0,0 +1 @@
1
+ ../../shared/config/routes.rb
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/../shared/db/
1
+ ../shared/db/
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/../../shared/features/shared/development_steps.feature
1
+ ../../shared/features/shared/development_steps.feature
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/../../shared/features/shared/email_steps.feature
1
+ ../../shared/features/shared/email_steps.feature
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/../../shared/features/shared/overriding.feature
1
+ ../../shared/features/shared/overriding.feature
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/step_definitions/../../../shared/features/shared/step_definitions/
1
+ ../../../shared/features/shared/step_definitions/overriding_steps.rb
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/step_definitions/../../../shared/features/shared/step_definitions/
1
+ ../../../shared/features/shared/step_definitions/test_steps.rb
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/support/../../../shared/features/support/paths.rb
1
+ ../../../shared/features/support/paths.rb
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/support/../../../shared/features/support/selectors.rb
1
+ ../../../shared/features/support/selectors.rb
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/../../shared/features/shared/table_steps.feature
1
+ ../../shared/features/shared/table_steps.feature
@@ -0,0 +1 @@
1
+ ../../shared/features/shared/time_steps.feature
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/features/../../shared/features/shared/web_steps.feature
1
+ ../../shared/features/shared/web_steps.feature
@@ -1 +1 @@
1
- tests/rails-4_capybara-3/public/../../shared/public/fixture_files/
1
+ ../../shared/public/fixture_files/
@@ -0,0 +1,25 @@
1
+ source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ ruby '2.6.6'
5
+
6
+ gem 'rails', '~>6.0'
7
+ gem 'sqlite3'
8
+ gem 'haml-rails'
9
+ gem 'gemika'
10
+
11
+ group :development, :test do
12
+ gem 'byebug'
13
+ gem 'pry'
14
+ end
15
+
16
+ group :test do
17
+ gem 'database_cleaner'
18
+ gem 'capybara', "~>3"
19
+ gem 'capybara-screenshot'
20
+ gem 'cucumber-rails', require: false
21
+ gem 'cucumber'
22
+ gem 'selenium-webdriver'
23
+ gem 'rspec-rails'
24
+ gem 'spreewald', :path => '../..'
25
+ end
@@ -0,0 +1,264 @@
1
+ PATH
2
+ remote: ../..
3
+ specs:
4
+ spreewald (2.6.0)
5
+ cucumber
6
+ cucumber_priority (>= 0.3.0)
7
+ rspec (>= 2.13.0)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ actioncable (6.0.2.2)
13
+ actionpack (= 6.0.2.2)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailbox (6.0.2.2)
17
+ actionpack (= 6.0.2.2)
18
+ activejob (= 6.0.2.2)
19
+ activerecord (= 6.0.2.2)
20
+ activestorage (= 6.0.2.2)
21
+ activesupport (= 6.0.2.2)
22
+ mail (>= 2.7.1)
23
+ actionmailer (6.0.2.2)
24
+ actionpack (= 6.0.2.2)
25
+ actionview (= 6.0.2.2)
26
+ activejob (= 6.0.2.2)
27
+ mail (~> 2.5, >= 2.5.4)
28
+ rails-dom-testing (~> 2.0)
29
+ actionpack (6.0.2.2)
30
+ actionview (= 6.0.2.2)
31
+ activesupport (= 6.0.2.2)
32
+ rack (~> 2.0, >= 2.0.8)
33
+ rack-test (>= 0.6.3)
34
+ rails-dom-testing (~> 2.0)
35
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
+ actiontext (6.0.2.2)
37
+ actionpack (= 6.0.2.2)
38
+ activerecord (= 6.0.2.2)
39
+ activestorage (= 6.0.2.2)
40
+ activesupport (= 6.0.2.2)
41
+ nokogiri (>= 1.8.5)
42
+ actionview (6.0.2.2)
43
+ activesupport (= 6.0.2.2)
44
+ builder (~> 3.1)
45
+ erubi (~> 1.4)
46
+ rails-dom-testing (~> 2.0)
47
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
+ activejob (6.0.2.2)
49
+ activesupport (= 6.0.2.2)
50
+ globalid (>= 0.3.6)
51
+ activemodel (6.0.2.2)
52
+ activesupport (= 6.0.2.2)
53
+ activerecord (6.0.2.2)
54
+ activemodel (= 6.0.2.2)
55
+ activesupport (= 6.0.2.2)
56
+ activestorage (6.0.2.2)
57
+ actionpack (= 6.0.2.2)
58
+ activejob (= 6.0.2.2)
59
+ activerecord (= 6.0.2.2)
60
+ marcel (~> 0.3.1)
61
+ activesupport (6.0.2.2)
62
+ concurrent-ruby (~> 1.0, >= 1.0.2)
63
+ i18n (>= 0.7, < 2)
64
+ minitest (~> 5.1)
65
+ tzinfo (~> 1.1)
66
+ zeitwerk (~> 2.2)
67
+ addressable (2.7.0)
68
+ public_suffix (>= 2.0.2, < 5.0)
69
+ backports (3.17.0)
70
+ builder (3.2.4)
71
+ byebug (11.1.1)
72
+ capybara (3.32.0)
73
+ addressable
74
+ mini_mime (>= 0.1.3)
75
+ nokogiri (~> 1.8)
76
+ rack (>= 1.6.0)
77
+ rack-test (>= 0.6.3)
78
+ regexp_parser (~> 1.5)
79
+ xpath (~> 3.2)
80
+ capybara-screenshot (1.0.24)
81
+ capybara (>= 1.0, < 4)
82
+ launchy
83
+ childprocess (3.0.0)
84
+ coderay (1.1.2)
85
+ concurrent-ruby (1.1.6)
86
+ crass (1.0.6)
87
+ cucumber (3.1.2)
88
+ builder (>= 2.1.2)
89
+ cucumber-core (~> 3.2.0)
90
+ cucumber-expressions (~> 6.0.1)
91
+ cucumber-wire (~> 0.0.1)
92
+ diff-lcs (~> 1.3)
93
+ gherkin (~> 5.1.0)
94
+ multi_json (>= 1.7.5, < 2.0)
95
+ multi_test (>= 0.1.2)
96
+ cucumber-core (3.2.1)
97
+ backports (>= 3.8.0)
98
+ cucumber-tag_expressions (~> 1.1.0)
99
+ gherkin (~> 5.0)
100
+ cucumber-expressions (6.0.1)
101
+ cucumber-rails (2.0.0)
102
+ capybara (>= 2.12, < 4)
103
+ cucumber (>= 3.0.2, < 4)
104
+ mime-types (>= 2.0, < 4)
105
+ nokogiri (~> 1.8)
106
+ railties (>= 4.2, < 7)
107
+ cucumber-tag_expressions (1.1.1)
108
+ cucumber-wire (0.0.1)
109
+ cucumber_priority (0.3.2)
110
+ cucumber
111
+ database_cleaner (1.7.0)
112
+ diff-lcs (1.3)
113
+ erubi (1.9.0)
114
+ erubis (2.7.0)
115
+ gemika (0.4.0)
116
+ gherkin (5.1.0)
117
+ globalid (0.4.2)
118
+ activesupport (>= 4.2.0)
119
+ haml (5.1.2)
120
+ temple (>= 0.8.0)
121
+ tilt
122
+ haml-rails (2.0.1)
123
+ actionpack (>= 5.1)
124
+ activesupport (>= 5.1)
125
+ haml (>= 4.0.6, < 6.0)
126
+ html2haml (>= 1.0.1)
127
+ railties (>= 5.1)
128
+ html2haml (2.2.0)
129
+ erubis (~> 2.7.0)
130
+ haml (>= 4.0, < 6)
131
+ nokogiri (>= 1.6.0)
132
+ ruby_parser (~> 3.5)
133
+ i18n (1.8.2)
134
+ concurrent-ruby (~> 1.0)
135
+ launchy (2.5.0)
136
+ addressable (~> 2.7)
137
+ loofah (2.4.0)
138
+ crass (~> 1.0.2)
139
+ nokogiri (>= 1.5.9)
140
+ mail (2.7.1)
141
+ mini_mime (>= 0.1.1)
142
+ marcel (0.3.3)
143
+ mimemagic (~> 0.3.2)
144
+ method_source (1.0.0)
145
+ mime-types (3.3.1)
146
+ mime-types-data (~> 3.2015)
147
+ mime-types-data (3.2019.1009)
148
+ mimemagic (0.3.4)
149
+ mini_mime (1.0.2)
150
+ mini_portile2 (2.4.0)
151
+ minitest (5.14.0)
152
+ multi_json (1.14.1)
153
+ multi_test (0.1.2)
154
+ nio4r (2.5.2)
155
+ nokogiri (1.10.9)
156
+ mini_portile2 (~> 2.4.0)
157
+ pry (0.13.0)
158
+ coderay (~> 1.1)
159
+ method_source (~> 1.0)
160
+ public_suffix (4.0.3)
161
+ rack (2.2.2)
162
+ rack-test (1.1.0)
163
+ rack (>= 1.0, < 3)
164
+ rails (6.0.2.2)
165
+ actioncable (= 6.0.2.2)
166
+ actionmailbox (= 6.0.2.2)
167
+ actionmailer (= 6.0.2.2)
168
+ actionpack (= 6.0.2.2)
169
+ actiontext (= 6.0.2.2)
170
+ actionview (= 6.0.2.2)
171
+ activejob (= 6.0.2.2)
172
+ activemodel (= 6.0.2.2)
173
+ activerecord (= 6.0.2.2)
174
+ activestorage (= 6.0.2.2)
175
+ activesupport (= 6.0.2.2)
176
+ bundler (>= 1.3.0)
177
+ railties (= 6.0.2.2)
178
+ sprockets-rails (>= 2.0.0)
179
+ rails-dom-testing (2.0.3)
180
+ activesupport (>= 4.2.0)
181
+ nokogiri (>= 1.6)
182
+ rails-html-sanitizer (1.3.0)
183
+ loofah (~> 2.3)
184
+ railties (6.0.2.2)
185
+ actionpack (= 6.0.2.2)
186
+ activesupport (= 6.0.2.2)
187
+ method_source
188
+ rake (>= 0.8.7)
189
+ thor (>= 0.20.3, < 2.0)
190
+ rake (13.0.1)
191
+ regexp_parser (1.7.0)
192
+ rspec (3.9.0)
193
+ rspec-core (~> 3.9.0)
194
+ rspec-expectations (~> 3.9.0)
195
+ rspec-mocks (~> 3.9.0)
196
+ rspec-core (3.9.1)
197
+ rspec-support (~> 3.9.1)
198
+ rspec-expectations (3.9.1)
199
+ diff-lcs (>= 1.2.0, < 2.0)
200
+ rspec-support (~> 3.9.0)
201
+ rspec-mocks (3.9.1)
202
+ diff-lcs (>= 1.2.0, < 2.0)
203
+ rspec-support (~> 3.9.0)
204
+ rspec-rails (4.0.0)
205
+ actionpack (>= 4.2)
206
+ activesupport (>= 4.2)
207
+ railties (>= 4.2)
208
+ rspec-core (~> 3.9)
209
+ rspec-expectations (~> 3.9)
210
+ rspec-mocks (~> 3.9)
211
+ rspec-support (~> 3.9)
212
+ rspec-support (3.9.2)
213
+ ruby_parser (3.14.2)
214
+ sexp_processor (~> 4.9)
215
+ rubyzip (2.3.0)
216
+ selenium-webdriver (3.142.7)
217
+ childprocess (>= 0.5, < 4.0)
218
+ rubyzip (>= 1.2.2)
219
+ sexp_processor (4.14.1)
220
+ sprockets (4.0.0)
221
+ concurrent-ruby (~> 1.0)
222
+ rack (> 1, < 3)
223
+ sprockets-rails (3.2.1)
224
+ actionpack (>= 4.0)
225
+ activesupport (>= 4.0)
226
+ sprockets (>= 3.0.0)
227
+ sqlite3 (1.4.2)
228
+ temple (0.8.2)
229
+ thor (1.0.1)
230
+ thread_safe (0.3.6)
231
+ tilt (2.0.10)
232
+ tzinfo (1.2.6)
233
+ thread_safe (~> 0.1)
234
+ websocket-driver (0.7.1)
235
+ websocket-extensions (>= 0.1.0)
236
+ websocket-extensions (0.1.4)
237
+ xpath (3.2.0)
238
+ nokogiri (~> 1.8)
239
+ zeitwerk (2.3.0)
240
+
241
+ PLATFORMS
242
+ ruby
243
+
244
+ DEPENDENCIES
245
+ byebug
246
+ capybara (~> 3)
247
+ capybara-screenshot
248
+ cucumber
249
+ cucumber-rails
250
+ database_cleaner
251
+ gemika
252
+ haml-rails
253
+ pry
254
+ rails (~> 6.0)
255
+ rspec-rails
256
+ selenium-webdriver
257
+ spreewald!
258
+ sqlite3
259
+
260
+ RUBY VERSION
261
+ ruby 2.6.6p146
262
+
263
+ BUNDLED WITH
264
+ 2.1.4