spreewald 1.12.1 → 1.12.2

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile.lock +0 -3
  4. data/Rakefile +1 -1
  5. data/lib/spreewald.rb +0 -1
  6. data/lib/spreewald/table_steps.rb +1 -0
  7. data/lib/spreewald/web_steps.rb +14 -12
  8. data/lib/spreewald_support/compatibility.rb +1 -0
  9. data/lib/spreewald_support/custom_matchers.rb +2 -0
  10. data/lib/spreewald_support/driver_info.rb +23 -0
  11. data/lib/spreewald_support/version.rb +1 -1
  12. data/lib/spreewald_support/web_steps_helpers.rb +1 -2
  13. data/tests/rails-3_capybara-1/Gemfile.lock +3 -3
  14. data/tests/rails-3_capybara-1/app +1 -0
  15. data/tests/rails-3_capybara-1/config/cucumber.yml +1 -0
  16. data/tests/rails-3_capybara-1/config/database.yml +1 -0
  17. data/tests/rails-3_capybara-1/db +1 -0
  18. data/tests/rails-3_capybara-1/features/shared +1 -0
  19. data/tests/rails-3_capybara-1/features/support/paths.rb +1 -0
  20. data/tests/rails-3_capybara-1/features/support/selectors.rb +1 -0
  21. data/tests/rails-3_capybara-1/public +1 -0
  22. data/tests/rails-3_capybara-2/Gemfile.lock +2 -2
  23. data/tests/rails-3_capybara-2/Rakefile +1 -0
  24. data/tests/rails-3_capybara-2/app +1 -0
  25. data/tests/rails-3_capybara-2/config +1 -0
  26. data/tests/rails-3_capybara-2/db +1 -0
  27. data/tests/rails-3_capybara-2/features +1 -0
  28. data/tests/rails-3_capybara-2/public +1 -0
  29. data/tests/rails-4_capybara-3/Gemfile.lock +1 -1
  30. data/tests/rails-4_capybara-3/app +1 -0
  31. data/tests/rails-4_capybara-3/db +1 -0
  32. data/tests/rails-4_capybara-3/features/email_steps.feature +1 -0
  33. data/tests/rails-4_capybara-3/features/overriding.feature +1 -0
  34. data/tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb +1 -0
  35. data/tests/rails-4_capybara-3/features/step_definitions/test_steps.rb +1 -0
  36. data/tests/rails-4_capybara-3/features/support/paths.rb +1 -0
  37. data/tests/rails-4_capybara-3/features/support/selectors.rb +1 -0
  38. data/tests/rails-4_capybara-3/features/table_steps.feature +1 -0
  39. data/tests/rails-4_capybara-3/features/web_steps.feature +1 -0
  40. metadata +26 -3
  41. data/tests/rails-3_capybara-1/config/cucumber.yml +0 -2
  42. data/tests/rails-3_capybara-1/config/database.yml +0 -7
  43. data/tests/rails-3_capybara-1/features/support/paths.rb +0 -16
  44. data/tests/rails-3_capybara-1/features/support/selectors.rb +0 -46
  45. data/tests/rails-3_capybara-2/Rakefile +0 -18
  46. data/tests/rails-4_capybara-3/features/email_steps.feature +0 -131
  47. data/tests/rails-4_capybara-3/features/overriding.feature +0 -5
  48. data/tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb +0 -3
  49. data/tests/rails-4_capybara-3/features/step_definitions/test_steps.rb +0 -43
  50. data/tests/rails-4_capybara-3/features/support/paths.rb +0 -16
  51. data/tests/rails-4_capybara-3/features/support/selectors.rb +0 -46
  52. data/tests/rails-4_capybara-3/features/table_steps.feature +0 -292
  53. data/tests/rails-4_capybara-3/features/web_steps.feature +0 -152
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e73181e968acbcbb6dfcbe7d9b8704271741fc98
4
- data.tar.gz: 84f1345e2402ae8ee9b881e881f0eccee72c1d14
3
+ metadata.gz: 28fbd2d2c91e4365c7687dd78ee0175bccbd18ba
4
+ data.tar.gz: 58d1e39503525373f550e219f4df928372003c3c
5
5
  SHA512:
6
- metadata.gz: 7abc5400c93a2b1a97b66b7ef22facd6513fa2ee28c58c65a191f4a4e43eb768fdde0a71cf1c1867f7bcd67c69f188d1ab4554740075bbb648a8bfe0e4bfc5c9
7
- data.tar.gz: 6b8c34a182c87a0a72d473df671f0d53fceb75fe17efd863a129555c08429b5063409fecabe27c800d8aa3e89efa78b2faf88dfed9d238277e8ebad8f72d4549
6
+ metadata.gz: 4686d1d4ef1ec2d9e9de2dcd0bdbff055e5134a7f39e557b599615f89a4893618c6a5302d42d9994da71c9cde0ea07103d4025a97b57a330ed59a6935448ff9c
7
+ data.tar.gz: cd0bb2f7aaaaa4991af4b82d006af9da7adaf0818ba822d3b63f196dd4916e49882608447db9906334e58195ea4e47dcfa72cbecd84b9771c2ea1271462e366f
data/CHANGELOG.md CHANGED
@@ -6,6 +6,9 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## 1.12.2
10
+ Always check the current driver by its class (see [issue](https://github.com/makandra/spreewald/issues/74))
11
+
9
12
  ## 1.12.1
10
13
  - Remove deprecation warnings because of `failure_message_for_should` and `failure_message_for_should_not`
11
14
 
data/Gemfile.lock CHANGED
@@ -10,6 +10,3 @@ PLATFORMS
10
10
  DEPENDENCIES
11
11
  gemika
12
12
  rake
13
-
14
- BUNDLED WITH
15
- 2.0.1
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ rescue LoadError
7
7
  puts 'Run `gem install gemika` for additional tasks'
8
8
  end
9
9
 
10
- task :default => 'matrix:all_tests'
10
+ task :default => 'matrix:tests'
11
11
 
12
12
  namespace :matrix do
13
13
 
data/lib/spreewald.rb CHANGED
@@ -3,4 +3,3 @@
3
3
  require 'cucumber_priority'
4
4
  require "spreewald_support/version"
5
5
  require "spreewald_support/github"
6
- require "spreewald_support/compatibility"
@@ -1,6 +1,7 @@
1
1
  # coding: UTF-8
2
2
 
3
3
  require 'spreewald_support/tolerance_for_selenium_sync_issues'
4
+ require 'spreewald_support/compatibility'
4
5
 
5
6
  module TableStepsHelper
6
7
  module ArrayMethods
@@ -29,6 +29,7 @@ require 'spreewald_support/path_selector_fallbacks'
29
29
  require 'spreewald_support/step_fallback'
30
30
  require 'spreewald_support/custom_matchers'
31
31
  require 'spreewald_support/web_steps_helpers'
32
+ require 'spreewald_support/driver_info'
32
33
  require 'uri'
33
34
  require 'cgi'
34
35
 
@@ -432,13 +433,12 @@ Then /^the window should be titled "([^"]*)"$/ do |title|
432
433
  end.overridable
433
434
 
434
435
  When /^I reload the page$/ do
435
- case Capybara::current_driver
436
- when :selenium
437
- page.execute_script(<<-JAVASCRIPT)
436
+ if javascript_capable?
437
+ page.execute_script(<<-JAVASCRIPT)
438
438
  window.location.reload(true);
439
- JAVASCRIPT
440
- else
441
- visit current_path
439
+ JAVASCRIPT
440
+ else
441
+ visit current_path
442
442
  end
443
443
  end.overridable
444
444
 
@@ -612,8 +612,11 @@ When /^I enter "([^"]*)" into the browser dialog$/ do |text|
612
612
  end.overridable
613
613
 
614
614
  When /^I switch to the new tab$/ do
615
- Capybara::current_driver == :selenium or raise("This step works only with selenium")
616
- page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
615
+ if javascript_capable?
616
+ page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
617
+ else
618
+ raise("This step works only with selenium")
619
+ end
617
620
  end.overridable
618
621
 
619
622
  # Checks that these strings are rendered in the given order in a single line or in multiple lines
@@ -676,7 +679,7 @@ end.overridable
676
679
  #
677
680
  # More details [here](https://makandracards.com/makandra/12139-waiting-for-page-loads-and-ajax-requests-to-finish-with-capybara).
678
681
  When /^I wait for the page to load$/ do
679
- if [:selenium, :webkit, :poltergeist].include?(Capybara.current_driver)
682
+ if javascript_capable?
680
683
  patiently do
681
684
  # when no jQuery is loaded, we assume there are no pending AJAX requests
682
685
  page.execute_script("return typeof jQuery === 'undefined' || $.active == 0;").should == true
@@ -690,7 +693,7 @@ end.overridable
690
693
  # More details [here](https://makandracards.com/makandra/971-perform-http-basic-authentication-in-cucumber).
691
694
  When /^I perform basic authentication as "([^\"]*)\/([^\"]*)" and go to (.*)$/ do |user, password, page_name|
692
695
  path = _path_to(page_name)
693
- if Capybara::current_driver == :selenium
696
+ if javascript_capable?
694
697
  server = Capybara.current_session.server rescue Capybara.current_session.driver.rack_server
695
698
  visit("http://#{user}:#{password}@#{server.host}:#{server.port}#{path}")
696
699
  else
@@ -707,8 +710,7 @@ end.overridable
707
710
 
708
711
  # Goes to the previously viewed page.
709
712
  When /^I go back$/ do
710
- case Capybara::current_driver
711
- when :selenium, :webkit
713
+ if javascript_capable?
712
714
  page.execute_script('window.history.back()')
713
715
  else
714
716
  if page.driver.respond_to?(:browser)
@@ -19,3 +19,4 @@ module Spreewald
19
19
 
20
20
  end
21
21
  end
22
+ World(Spreewald::Compatibility)
@@ -1,3 +1,5 @@
1
+ require 'spreewald_support/compatibility'
2
+
1
3
  module CustomMatchers
2
4
  rspec = defined?(RSpec) ? RSpec : Spec
3
5
 
@@ -0,0 +1,23 @@
1
+ module Spreewald
2
+ module DriverInfo
3
+
4
+ def javascript_capable?
5
+ selenium_driver? || poltergeist_driver? || webkit_driver?
6
+ end
7
+
8
+ def selenium_driver?
9
+ Object.const_defined?('Capybara::Selenium') && Capybara.current_session.driver.is_a?(Capybara::Selenium::Driver)
10
+ end
11
+
12
+ def poltergeist_driver?
13
+ Object.const_defined?('Capybara::Poltergeist') && Capybara.current_session.driver.is_a?(Capybara::Poltergeist::Driver)
14
+ end
15
+
16
+ def webkit_driver?
17
+ Object.const_defined?('Capybara::Webkit') && Capybara.current_session.driver.is_a?(Capybara::Webkit::Driver)
18
+ end
19
+
20
+ end
21
+ end
22
+
23
+ World(Spreewald::DriverInfo)
@@ -1,3 +1,3 @@
1
1
  module Spreewald
2
- VERSION = '1.12.1'
2
+ VERSION = '1.12.2'
3
3
  end
@@ -11,8 +11,7 @@ module WebStepsHelpers
11
11
  private
12
12
 
13
13
  def visibility_test(options)
14
- case Capybara::current_driver
15
- when :selenium, :webkit, :poltergeist
14
+ if javascript_capable?
16
15
  detect_visibility_with_js(options)
17
16
  else
18
17
  detect_visibility_with_capybara(options)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (1.12.0)
4
+ spreewald (1.12.2)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
 
@@ -57,7 +57,7 @@ GEM
57
57
  cucumber (>= 1.2.0)
58
58
  nokogiri (>= 1.5.0)
59
59
  rails (>= 3.0.0)
60
- cucumber_priority (0.3.1)
60
+ cucumber_priority (0.3.2)
61
61
  cucumber
62
62
  database_cleaner (1.0.1)
63
63
  diff-lcs (1.3)
@@ -160,4 +160,4 @@ DEPENDENCIES
160
160
  sqlite3
161
161
 
162
162
  BUNDLED WITH
163
- 1.17.2
163
+ 1.17.3
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/../shared/app
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/config/../../shared/config/cucumber.yml
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/config/../../shared/config/database.yml
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/../shared/db
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/features/../../shared/features/shared
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/features/support/../../../shared/features/support/paths.rb
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/features/support/../../../shared/features/support/selectors.rb
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-1/../shared/public
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (1.12.0)
4
+ spreewald (1.12.2)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
 
@@ -175,4 +175,4 @@ DEPENDENCIES
175
175
  sqlite3
176
176
 
177
177
  BUNDLED WITH
178
- 1.17.1
178
+ 1.17.3
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/Rakefile
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/app
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/config
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/db
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/features/
@@ -0,0 +1 @@
1
+ tests/rails-3_capybara-2/../rails-3_capybara-1/public
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ../..
3
3
  specs:
4
- spreewald (1.12.0)
4
+ spreewald (1.12.2)
5
5
  cucumber
6
6
  cucumber_priority (>= 0.3.0)
7
7
 
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/../shared/app/
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/../shared/db/
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/../../shared/features/shared/email_steps.feature
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/../../shared/features/shared/overriding.feature
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/step_definitions/../../../shared/features/shared/step_definitions/
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/step_definitions/../../../shared/features/shared/step_definitions/
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/support/../../../shared/features/support/paths.rb
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/support/../../../shared/features/support/selectors.rb
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/../../shared/features/shared/table_steps.feature
@@ -0,0 +1 @@
1
+ tests/rails-4_capybara-3/features/../../shared/features/shared/web_steps.feature
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: 1.12.1
4
+ version: 1.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Kraze
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-27 00:00:00.000000000 Z
11
+ date: 2019-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -160,6 +160,7 @@ files:
160
160
  - lib/spreewald/web_steps.rb
161
161
  - lib/spreewald_support/compatibility.rb
162
162
  - lib/spreewald_support/custom_matchers.rb
163
+ - lib/spreewald_support/driver_info.rb
163
164
  - lib/spreewald_support/github.rb
164
165
  - lib/spreewald_support/mail_finder.rb
165
166
  - lib/spreewald_support/path_selector_fallbacks.rb
@@ -180,6 +181,7 @@ files:
180
181
  - tests/rails-3_capybara-1/Gemfile
181
182
  - tests/rails-3_capybara-1/Gemfile.lock
182
183
  - tests/rails-3_capybara-1/Rakefile
184
+ - tests/rails-3_capybara-1/app
183
185
  - tests/rails-3_capybara-1/config/application.rb
184
186
  - tests/rails-3_capybara-1/config/boot.rb
185
187
  - tests/rails-3_capybara-1/config/cucumber.yml
@@ -191,15 +193,23 @@ files:
191
193
  - tests/rails-3_capybara-1/config/initializers/secret_token.rb
192
194
  - tests/rails-3_capybara-1/config/initializers/session_store.rb
193
195
  - tests/rails-3_capybara-1/config/routes.rb
196
+ - tests/rails-3_capybara-1/db
197
+ - tests/rails-3_capybara-1/features/shared
194
198
  - tests/rails-3_capybara-1/features/support/env.rb
195
199
  - tests/rails-3_capybara-1/features/support/paths.rb
196
200
  - tests/rails-3_capybara-1/features/support/selectors.rb
197
201
  - tests/rails-3_capybara-1/features/support/selenium.rb
202
+ - tests/rails-3_capybara-1/public
198
203
  - tests/rails-3_capybara-2/.ruby-version
199
204
  - tests/rails-3_capybara-2/Gemfile
200
205
  - tests/rails-3_capybara-2/Gemfile.lock
201
206
  - tests/rails-3_capybara-2/Rakefile
207
+ - tests/rails-3_capybara-2/app
208
+ - tests/rails-3_capybara-2/config
202
209
  - tests/rails-3_capybara-2/config.ru
210
+ - tests/rails-3_capybara-2/db
211
+ - tests/rails-3_capybara-2/features
212
+ - tests/rails-3_capybara-2/public
203
213
  - tests/rails-3_capybara-2/script/cucumber
204
214
  - tests/rails-3_capybara-2/script/rails
205
215
  - tests/rails-4_capybara-3/.gitignore
@@ -207,6 +217,7 @@ files:
207
217
  - tests/rails-4_capybara-3/Gemfile.lock
208
218
  - tests/rails-4_capybara-3/README.rdoc
209
219
  - tests/rails-4_capybara-3/Rakefile
220
+ - tests/rails-4_capybara-3/app
210
221
  - tests/rails-4_capybara-3/bin/bundle
211
222
  - tests/rails-4_capybara-3/bin/rails
212
223
  - tests/rails-4_capybara-3/bin/rake
@@ -231,6 +242,7 @@ files:
231
242
  - tests/rails-4_capybara-3/config/locales/en.yml
232
243
  - tests/rails-4_capybara-3/config/routes.rb
233
244
  - tests/rails-4_capybara-3/config/secrets.yml
245
+ - tests/rails-4_capybara-3/db
234
246
  - tests/rails-4_capybara-3/features/email_steps.feature
235
247
  - tests/rails-4_capybara-3/features/overriding.feature
236
248
  - tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb
@@ -304,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
316
  version: '0'
305
317
  requirements: []
306
318
  rubyforge_project:
307
- rubygems_version: 2.2.5
319
+ rubygems_version: 2.6.14.3
308
320
  signing_key:
309
321
  specification_version: 4
310
322
  summary: Collection of useful cucumber steps.
@@ -313,6 +325,7 @@ test_files:
313
325
  - tests/rails-3_capybara-1/Gemfile
314
326
  - tests/rails-3_capybara-1/Gemfile.lock
315
327
  - tests/rails-3_capybara-1/Rakefile
328
+ - tests/rails-3_capybara-1/app
316
329
  - tests/rails-3_capybara-1/config/application.rb
317
330
  - tests/rails-3_capybara-1/config/boot.rb
318
331
  - tests/rails-3_capybara-1/config/cucumber.yml
@@ -324,15 +337,23 @@ test_files:
324
337
  - tests/rails-3_capybara-1/config/initializers/secret_token.rb
325
338
  - tests/rails-3_capybara-1/config/initializers/session_store.rb
326
339
  - tests/rails-3_capybara-1/config/routes.rb
340
+ - tests/rails-3_capybara-1/db
341
+ - tests/rails-3_capybara-1/features/shared
327
342
  - tests/rails-3_capybara-1/features/support/env.rb
328
343
  - tests/rails-3_capybara-1/features/support/paths.rb
329
344
  - tests/rails-3_capybara-1/features/support/selectors.rb
330
345
  - tests/rails-3_capybara-1/features/support/selenium.rb
346
+ - tests/rails-3_capybara-1/public
331
347
  - tests/rails-3_capybara-2/.ruby-version
332
348
  - tests/rails-3_capybara-2/Gemfile
333
349
  - tests/rails-3_capybara-2/Gemfile.lock
334
350
  - tests/rails-3_capybara-2/Rakefile
351
+ - tests/rails-3_capybara-2/app
352
+ - tests/rails-3_capybara-2/config
335
353
  - tests/rails-3_capybara-2/config.ru
354
+ - tests/rails-3_capybara-2/db
355
+ - tests/rails-3_capybara-2/features
356
+ - tests/rails-3_capybara-2/public
336
357
  - tests/rails-3_capybara-2/script/cucumber
337
358
  - tests/rails-3_capybara-2/script/rails
338
359
  - tests/rails-4_capybara-3/.gitignore
@@ -340,6 +361,7 @@ test_files:
340
361
  - tests/rails-4_capybara-3/Gemfile.lock
341
362
  - tests/rails-4_capybara-3/README.rdoc
342
363
  - tests/rails-4_capybara-3/Rakefile
364
+ - tests/rails-4_capybara-3/app
343
365
  - tests/rails-4_capybara-3/bin/bundle
344
366
  - tests/rails-4_capybara-3/bin/rails
345
367
  - tests/rails-4_capybara-3/bin/rake
@@ -364,6 +386,7 @@ test_files:
364
386
  - tests/rails-4_capybara-3/config/locales/en.yml
365
387
  - tests/rails-4_capybara-3/config/routes.rb
366
388
  - tests/rails-4_capybara-3/config/secrets.yml
389
+ - tests/rails-4_capybara-3/db
367
390
  - tests/rails-4_capybara-3/features/email_steps.feature
368
391
  - tests/rails-4_capybara-3/features/overriding.feature
369
392
  - tests/rails-4_capybara-3/features/step_definitions/overriding_steps.rb
@@ -1,2 +0,0 @@
1
- default: --require features --require features/shared features/shared
2
-
@@ -1,7 +0,0 @@
1
- development:
2
- adapter: sqlite3
3
- database: ":memory:"
4
-
5
- test:
6
- adapter: sqlite3
7
- database: ":memory:"
@@ -1,16 +0,0 @@
1
- module NavigationHelpers
2
-
3
- def path_to(page_name)
4
- case page_name
5
- when /^"(.*)"$/
6
- $1
7
-
8
- else
9
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
10
- "Now, go and add a mapping in #{__FILE__}"
11
- end
12
- end
13
-
14
- end
15
-
16
- World(NavigationHelpers)
@@ -1,46 +0,0 @@
1
- module HtmlSelectorsHelpers
2
- # Maps a name to a selector. Used primarily by the
3
- #
4
- # When /^(.+) within (.+)$/ do |step, scope|
5
- #
6
- # step definitions in web_steps.rb
7
- #
8
- def selector_for(locator)
9
- case locator
10
-
11
- when /^a panel?$/
12
- '.panel'
13
-
14
- when /^the timeline?$/
15
- '.timeline'
16
-
17
- when /^the table row containing "(.+?)"$/
18
- all('tr').detect { |tr| tr.text.include? $1 } || raise("Could not find tr containing #{$1.inspect}")
19
-
20
- # Add more mappings here.
21
- # Here is an example that pulls values out of the Regexp:
22
- #
23
- # when /^the (notice|error|info) flash$/
24
- # ".flash.#{$1}"
25
-
26
- # You can also return an array to use a different selector
27
- # type, like:
28
- #
29
- # when /the header/
30
- # [:xpath, "//header"]
31
-
32
- # This allows you to provide a quoted selector as the scope
33
- # for "within" steps as was previously the default for the
34
- # web steps:
35
- when /^"(.+)"$/
36
- $1
37
-
38
- else
39
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
40
- "Now, go and add a mapping in #{__FILE__}"
41
- end
42
- end
43
-
44
- end
45
-
46
- World(HtmlSelectorsHelpers)
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env rake
2
- require 'cucumber/rake/task'
3
-
4
- desc 'Default: Run all specs for a specific rails version.'
5
- task :default => :features
6
-
7
- desc 'Run all specs for rails 3.2'
8
- Cucumber::Rake::Task.new(:features) do |t|
9
- feature = if ENV['SINGLE_FEATURE']
10
- "../../shared/features/shared/#{ ENV['SINGLE_FEATURE'] }"
11
- else
12
- 'features/shared'
13
- end
14
-
15
- # tell cucumber where it finds it files (subdirectories and symlinks are confusing it)
16
- t.cucumber_opts = "--require features --require features/shared #{feature}"
17
- end
18
-
@@ -1,131 +0,0 @@
1
- Feature: Test Spreewald's email steps
2
-
3
- Scenario: /^no e?mail should have been sent$/
4
- When I go to "/emails/do_nothing"
5
- Then the following step should succeed:
6
- | no email should have been sent |
7
-
8
- When I go to "/emails/send_email"
9
- Then the following step should fail:
10
- | no email should have been sent |
11
-
12
- Scenario: /^I should see "([^\"]*)" in the e?mail$/
13
- When I go to "/emails/send_email"
14
- Then the following step should succeed:
15
- | I should see "BODY" in the email |
16
- But the following step should fail:
17
- | I should see "XYZ" in the email |
18
-
19
- Scenario: /^(an|no) e?mail should have been sent with:$/
20
- When I go to "/emails/send_email"
21
-
22
- # Test without body
23
- Then the following multiline step should succeed:
24
- """
25
- Then an email should have been sent with:
26
- '''
27
- From: from@example.com
28
- Reply-To: reply-to@example.com
29
- To: to@example.com
30
- Subject: SUBJECT
31
- '''
32
- """
33
-
34
- # Test with body
35
- Then the following multiline step should succeed:
36
- """
37
- Then an email should have been sent with:
38
- '''
39
- From: from@example.com
40
- Reply-To: reply-to@example.com
41
- To: to@example.com
42
- Subject: SUBJECT
43
-
44
- BODY
45
- '''
46
- """
47
-
48
- # Test with incorrect From header
49
- Then the following multiline step should fail:
50
- """
51
- Then an email should have been sent with:
52
- '''
53
- From: other-from@example.com
54
- Reply-To: reply-to@example.com
55
- To: to@example.com
56
- Subject: SUBJECT
57
-
58
- BODY
59
- '''
60
- """
61
-
62
- # Test with incorrect Reply-To header
63
- Then the following multiline step should fail:
64
- """
65
- Then an email should have been sent with:
66
- '''
67
- From: from@example.com
68
- Reply-To: other-reply-to@example.com
69
- To: to@example.com
70
- Subject: SUBJECT
71
-
72
- BODY
73
- '''
74
- """
75
- # Test with incorrect To header
76
- Then the following multiline step should fail:
77
- """
78
- Then an email should have been sent with:
79
- '''
80
- From: from@example.com
81
- Reply-To: reply-to@example.com
82
- To: other-to@example.com
83
- Subject: SUBJECT
84
-
85
- BODY
86
- '''
87
- """
88
-
89
- # Test with incorrect Subject header
90
- Then the following multiline step should fail:
91
- """
92
- Then an email should have been sent with:
93
- '''
94
- From: from@example.com
95
- Reply-To: reply-to@example.com
96
- To: to@example.com
97
- Subject: OTHER-SUBJECT
98
-
99
- BODY
100
- '''
101
- """
102
-
103
- # Test with incorrect body
104
- Then the following multiline step should fail:
105
- """
106
- Then an email should have been sent with:
107
- '''
108
- From: from@example.com
109
- Reply-To: reply-to@example.com
110
- To: to@example.com
111
- Subject: SUBJECT
112
-
113
- OTHER-BODY
114
- '''
115
- """
116
-
117
- # Test body with multiple paragraphs
118
- Then the following multiline step should fail:
119
- """
120
- Then an email should have been sent with:
121
- '''
122
- From: from@example.com
123
- Reply-To: reply-to@example.com
124
- To: to@example.com
125
- Subject: SUBJECT
126
-
127
- BODY
128
-
129
- MORE-BODY
130
- '''
131
- """
@@ -1,5 +0,0 @@
1
- Feature: Overriding Spreewald-steps
2
-
3
- Scenario: The developer should be able to override any Spreewald step without Cucumber raising Cucumber::Ambiguous
4
- When I go to "/static_pages/overridden"
5
- Then I should see "overridden value"
@@ -1,3 +0,0 @@
1
- Then /^I should see "overridden value"$/ do
2
- page.should have_content('overridden value')
3
- end
@@ -1,43 +0,0 @@
1
- RSPEC_EXPECTATION_NOT_MET_ERROR = RSpec::Expectations::ExpectationNotMetError
2
-
3
- Then /^the following steps? should (fail|succeed):$/ do |expectation, steps_table|
4
- steps = steps_table.raw.flatten
5
-
6
- steps.each do |step|
7
- if expectation == 'fail'
8
- expect { step(step) }.to raise_error(RSPEC_EXPECTATION_NOT_MET_ERROR)
9
-
10
- else # succeed
11
- step(step)
12
- end
13
-
14
- end
15
- end
16
-
17
- When /^I run the following steps?:$/ do |steps_table|
18
- steps = steps_table.raw.flatten
19
-
20
- steps.each do |step|
21
- step(step)
22
- end
23
- end
24
-
25
- Then /^the following multiline step should (fail|succeed):$/ do |expectation, multiline_step|
26
- multiline_step = multiline_step.gsub(%{'''}, %{"""})
27
- if expectation == 'fail'
28
- expect { steps(multiline_step) }.to raise_error(RSPEC_EXPECTATION_NOT_MET_ERROR)
29
- else # succeed
30
- steps(multiline_step)
31
- end
32
-
33
- end
34
-
35
- Then(/^a hidden string with quotes should not be visible$/) do
36
- hidden_string = %Q{hidden '" quotes}
37
- assert_hidden(:text => hidden_string)
38
- end
39
-
40
- Then(/^a visible string with quotes should be visible$/) do
41
- visible_string = %Q{visible '" quotes}
42
- assert_visible(:text => visible_string)
43
- end
@@ -1,16 +0,0 @@
1
- module NavigationHelpers
2
-
3
- def path_to(page_name)
4
- case page_name
5
- when /^"(.*)"$/
6
- $1
7
-
8
- else
9
- raise "Can't find mapping from \"#{page_name}\" to a path.\n" +
10
- "Now, go and add a mapping in #{__FILE__}"
11
- end
12
- end
13
-
14
- end
15
-
16
- World(NavigationHelpers)
@@ -1,46 +0,0 @@
1
- module HtmlSelectorsHelpers
2
- # Maps a name to a selector. Used primarily by the
3
- #
4
- # When /^(.+) within (.+)$/ do |step, scope|
5
- #
6
- # step definitions in web_steps.rb
7
- #
8
- def selector_for(locator)
9
- case locator
10
-
11
- when /^a panel?$/
12
- '.panel'
13
-
14
- when /^the timeline?$/
15
- '.timeline'
16
-
17
- when /^the table row containing "(.+?)"$/
18
- all('tr').detect { |tr| tr.text.include? $1 } || raise("Could not find tr containing #{$1.inspect}")
19
-
20
- # Add more mappings here.
21
- # Here is an example that pulls values out of the Regexp:
22
- #
23
- # when /^the (notice|error|info) flash$/
24
- # ".flash.#{$1}"
25
-
26
- # You can also return an array to use a different selector
27
- # type, like:
28
- #
29
- # when /the header/
30
- # [:xpath, "//header"]
31
-
32
- # This allows you to provide a quoted selector as the scope
33
- # for "within" steps as was previously the default for the
34
- # web steps:
35
- when /^"(.+)"$/
36
- $1
37
-
38
- else
39
- raise "Can't find mapping from \"#{locator}\" to a selector.\n" +
40
- "Now, go and add a mapping in #{__FILE__}"
41
- end
42
- end
43
-
44
- end
45
-
46
- World(HtmlSelectorsHelpers)
@@ -1,292 +0,0 @@
1
- Feature: Table steps
2
-
3
-
4
- Scenario: should see a table with the following rows
5
- When I go to "/tables/table1"
6
- Then the following multiline step should succeed:
7
- """
8
- Then I should see a table with the following rows:
9
- | 1-1 | 1-2 | 1-3 |
10
- | 2-1 | 2-2 | 2-3 |
11
- | 3-1 | 3-2 | 3-3 |
12
- """
13
- And the following multiline step should succeed:
14
- """
15
- Then I should see a table with the following rows:
16
- | 1-1 | 1-3 |
17
- | 2-1 | 2-3 |
18
- | 3-1 | 3-3 |
19
- """
20
- And the following multiline step should succeed:
21
- """
22
- Then I should see a table with the following rows:
23
- | 1-2 | 1-3 |
24
- | 2-2 | 2-3 |
25
- | 3-2 | 3-3 |
26
- """
27
- And the following multiline step should succeed:
28
- """
29
- Then I should see a table with the following rows:
30
- | 1-1 | 1-2 | 1-3 |
31
- | 3-1 | 3-2 | 3-3 |
32
- """
33
- And the following multiline step should succeed:
34
- """
35
- Then I should see a table with the following rows:
36
- | 2-1 | 2-2 | 2-3 |
37
- | 3-1 | 3-2 | 3-3 |
38
- """
39
- And the following multiline step should succeed:
40
- """
41
- Then I should see a table with the following rows:
42
- | 1-1 | 1-2 | 1-3 |
43
- | 2-1 | 2-2 | 2-3 |
44
- """
45
- And the following multiline step should succeed:
46
- """
47
- Then I should see a table with the following rows:
48
- | 1-1 | 1-3 |
49
- | 3-1 | 3-3 |
50
- """
51
- And the following multiline step should succeed:
52
- """
53
- Then I should see a table with the following rows:
54
- | 1* | 1-3 |
55
- | 3* | 3-3 |
56
- """
57
- And the following multiline step should fail:
58
- """
59
- Then I should see a table with the following rows:
60
- | 3-1 | 3-2 | 3-3 |
61
- | 1-1 | 1-2 | 1-3 |
62
- | 2-1 | 2-2 | 2-3 |
63
- """
64
- But the following multiline step should fail:
65
- """
66
- Then I should see a table with the following rows:
67
- | 1-1 | 1-2 | 1-3 |
68
- | 2-1 | 2-2 | 2-3 |
69
- | 3-1 | 3-2 | foo |
70
- """
71
- And the following multiline step should fail:
72
- """
73
- Then I should see a table with the following rows:
74
- | 1-1 | 1-2 | 1-3 |
75
- | 2-1 | foo | 2-3 |
76
- | 3-1 | 3-2 | 3-3 |
77
- """
78
- And the following multiline step should fail:
79
- """
80
- Then I should see a table with the following rows:
81
- | 1 | 1-3 |
82
- | 3 | 3-3 |
83
- """
84
-
85
-
86
- Scenario: Cell content normalization
87
- When I go to "/tables/table_with_weird_spaces"
88
- Then I should see a table with the following rows:
89
- | one two | three four |
90
- | five six | seven eight |
91
- | nineten | eleventwelve |
92
-
93
-
94
- Scenario: should not see a table with the following rows
95
- When I go to "/tables/table1"
96
- Then the following multiline step should fail:
97
- """
98
- Then I should not see a table with the following rows:
99
- | 1-1 | 1-2 | 1-3 |
100
- | 2-1 | 2-2 | 2-3 |
101
- | 3-1 | 3-2 | 3-3 |
102
- """
103
- But the following multiline step should succeed:
104
- """
105
- Then I should not see a table with the following rows:
106
- | 3-1 | 3-2 | 3-3 |
107
- | 1-1 | 1-2 | 1-3 |
108
- | 2-1 | 2-2 | 2-3 |
109
- """
110
-
111
-
112
- Scenario: should see a table with exactly the following rows
113
- When I go to "/tables/table1"
114
- Then the following multiline step should succeed:
115
- """
116
- Then I should see a table with exactly the following rows:
117
- | 1-1 | 1-2 | 1-3 |
118
- | 2-1 | 2-2 | 2-3 |
119
- | 3-1 | 3-2 | 3-3 |
120
- """
121
- And the following multiline step should succeed:
122
- """
123
- Then I should see a table with exactly the following rows:
124
- | 1-1 | 1-3 |
125
- | 2-1 | 2-3 |
126
- | 3-1 | 3-3 |
127
- """
128
- But the following multiline step should fail:
129
- """
130
- Then I should see a table with exactly the following rows:
131
- | 2-1 | 2-2 | 2-3 |
132
- | 1-1 | 1-2 | 1-3 |
133
- | 3-1 | 3-2 | 3-3 |
134
- """
135
- And the following multiline step should fail:
136
- """
137
- Then I should see a table with exactly the following rows:
138
- | 1-1 | 1-2 | 1-3 |
139
- | 3-1 | 3-2 | 3-3 |
140
- """
141
-
142
- Scenario: should not see a table with exactly the following rows
143
- When I go to "/tables/table1"
144
- Then the following multiline step should fail:
145
- """
146
- Then I should not see a table with exactly the following rows:
147
- | 1-1 | 1-2 | 1-3 |
148
- | 2-1 | 2-2 | 2-3 |
149
- | 3-1 | 3-2 | 3-3 |
150
- """
151
- And the following multiline step should fail:
152
- """
153
- Then I should not see a table with exactly the following rows:
154
- | 1-1 | 1-3 |
155
- | 2-1 | 2-3 |
156
- | 3-1 | 3-3 |
157
- """
158
- But the following multiline step should succeed:
159
- """
160
- Then I should not see a table with exactly the following rows:
161
- | 2-1 | 2-2 | 2-3 |
162
- | 1-1 | 1-2 | 1-3 |
163
- | 3-1 | 3-2 | 3-3 |
164
- """
165
- And the following multiline step should succeed:
166
- """
167
- Then I should not see a table with exactly the following rows:
168
- | 1-1 | 1-2 | 1-3 |
169
- | 3-1 | 3-2 | 3-3 |
170
- """
171
-
172
-
173
- Scenario: should see a table with the following rows in any order
174
- When I go to "/tables/table1"
175
- Then the following multiline step should succeed:
176
- """
177
- Then I should see a table with the following rows in any order:
178
- | 1-1 | 1-2 | 1-3 |
179
- | 2-1 | 2-2 | 2-3 |
180
- | 3-1 | 3-2 | 3-3 |
181
- """
182
- And the following multiline step should succeed:
183
- """
184
- Then I should see a table with the following rows in any order:
185
- | 1-1 | 1-2 | 1-3 |
186
- | 3-1 | 3-2 | 3-3 |
187
- """
188
- And the following multiline step should succeed:
189
- """
190
- Then I should see a table with the following rows in any order:
191
- | 3-1 | 3-2 | 3-3 |
192
- | 1-1 | 1-2 | 1-3 |
193
- | 2-1 | 2-2 | 2-3 |
194
- """
195
- But the following multiline step should fail:
196
- """
197
- Then I should see a table with the following rows in any order:
198
- | 1-1 | 1-2 | 1-3 |
199
- | 2-1 | 2-2 | 2-3 |
200
- | 3-1 | 3-2 | foo |
201
- """
202
- And the following multiline step should fail:
203
- """
204
- Then I should see a table with the following rows in any order:
205
- | 1 | 1-3 |
206
- | 3 | 3-3 |
207
- """
208
-
209
-
210
- Scenario: should not see a table with the following rows in any order
211
- When I go to "/tables/table1"
212
- Then the following multiline step should fail:
213
- """
214
- Then I should not see a table with the following rows in any order:
215
- | 1-1 | 1-2 | 1-3 |
216
- | 2-1 | 2-2 | 2-3 |
217
- | 3-1 | 3-2 | 3-3 |
218
- """
219
- And the following multiline step should fail:
220
- """
221
- Then I should not see a table with the following rows in any order:
222
- | 1-1 | 1-2 | 1-3 |
223
- | 3-1 | 3-2 | 3-3 |
224
- """
225
- And the following multiline step should fail:
226
- """
227
- Then I should not see a table with the following rows in any order:
228
- | 3-1 | 3-2 | 3-3 |
229
- | 1-1 | 1-2 | 1-3 |
230
- | 2-1 | 2-2 | 2-3 |
231
- """
232
- But the following multiline step should succeed:
233
- """
234
- Then I should not see a table with the following rows in any order:
235
- | 1-1 | 1-2 | 1-3 |
236
- | 2-1 | 2-2 | 2-3 |
237
- | 3-1 | 3-2 | foo |
238
- """
239
- And the following multiline step should succeed:
240
- """
241
- Then I should not see a table with the following rows in any order:
242
- | 1 | 1-3 |
243
- | 3 | 3-3 |
244
- """
245
-
246
-
247
- Scenario: should see a table with exactly the following rows in any order
248
- When I go to "/tables/table1"
249
- Then the following multiline step should succeed:
250
- """
251
- Then I should see a table with exactly the following rows in any order:
252
- | 1-1 | 1-2 | 1-3 |
253
- | 2-1 | 2-2 | 2-3 |
254
- | 3-1 | 3-2 | 3-3 |
255
- """
256
- And the following multiline step should succeed:
257
- """
258
- Then I should see a table with exactly the following rows in any order:
259
- | 3-1 | 3-2 | 3-3 |
260
- | 1-1 | 1-2 | 1-3 |
261
- | 2-1 | 2-2 | 2-3 |
262
- """
263
- But the following multiline step should fail:
264
- """
265
- Then I should see a table with exactly the following rows in any order:
266
- | 1-1 | 1-2 | 1-3 |
267
- | 3-1 | 3-2 | 3-3 |
268
- """
269
-
270
-
271
- Scenario: should not see a table with exactly the following rows in any order
272
- When I go to "/tables/table1"
273
- Then the following multiline step should fail:
274
- """
275
- Then I should not see a table with exactly the following rows in any order:
276
- | 1-1 | 1-2 | 1-3 |
277
- | 2-1 | 2-2 | 2-3 |
278
- | 3-1 | 3-2 | 3-3 |
279
- """
280
- And the following multiline step should fail:
281
- """
282
- Then I should not see a table with exactly the following rows in any order:
283
- | 3-1 | 3-2 | 3-3 |
284
- | 1-1 | 1-2 | 1-3 |
285
- | 2-1 | 2-2 | 2-3 |
286
- """
287
- But the following multiline step should succeed:
288
- """
289
- Then I should not see a table with exactly the following rows in any order:
290
- | 1-1 | 1-2 | 1-3 |
291
- | 3-1 | 3-2 | 3-3 |
292
- """
@@ -1,152 +0,0 @@
1
- Feature: Web steps
2
-
3
- Scenario: /^the "([^"]*)" field should (not )?contain "([^"]*)"$/
4
- When I go to "/forms/form1"
5
- Then the "Text control" field should contain "Text control value"
6
- Then the "Select control" field should contain "Label 2"
7
- Then the "Select control without selection" field should contain "Label 1"
8
- Then the "Textarea control" field should contain "Textarea control value"
9
- Then the "Empty control" field should contain ""
10
-
11
- Scenario: /^the "([^"]*)" field should (not )?contain:/
12
- When I go to "/forms/form2"
13
- Then the "Text control" field should contain:
14
- """
15
- Text control value
16
- """
17
- Then the "Textarea control" field should contain:
18
- """
19
- Textarea control line 1
20
- Textarea control line 2
21
- """
22
- Then the "Empty textarea control" field should contain:
23
- """
24
- """
25
-
26
- Scenario: /^I should see a form with the following values:$/
27
- When I go to "/forms/form1"
28
- Then I should see a form with the following values:
29
- | Text control | Text control value |
30
- | Select control | Label 2 |
31
- | Select control without selection | Label 1 |
32
- | Textarea control | Textarea control value |
33
- | Empty control | |
34
-
35
-
36
- Scenario: /^"([^"]*)" should( not)? be selected for "([^"]*)"$/
37
- When I go to "/forms/form1"
38
- Then "Label 2" should be selected for "Select control"
39
- But "Label 1" should not be selected for "Select control"
40
- And "Label 1" should be selected for "Select control without selection"
41
-
42
-
43
- Scenario: /^nothing should be selected for "([^"]*)"$/
44
- When I go to "/forms/form1"
45
- Then nothing should be selected for "Select control with blank option"
46
- Then nothing should be selected for "Select control with blank selection"
47
-
48
-
49
- Scenario: /^I go back$/
50
- Given I go to "/static_pages/link_to_home"
51
- And I follow "Home"
52
-
53
- When I go back
54
- Then I should be on "/static_pages/link_to_home"
55
-
56
-
57
- Scenario: /^the "([^"]*)" checkbox should( not)? be checked$/
58
- When I go to "/forms/checkbox_form"
59
- Then the "Checked" checkbox should be checked
60
- And the "Unchecked" checkbox should not be checked
61
-
62
-
63
- @javascript
64
- Scenario: /^I click on "([^\"]+)"$/
65
- When I go to "/static_pages/click_on"
66
- And I click on "Nested"
67
- # See that it clicks the innermost element with that text
68
- Then I should see "You clicked on .inner"
69
- When I click on "Button"
70
- Then I should see "You clicked on .button"
71
-
72
- @javascript
73
- Scenario: /^I click on the element "([^\"]+)"$/
74
- When I go to "/static_pages/click_on"
75
- And I click on the element ".inner"
76
- Then I should see "You clicked on .inner"
77
- When I click on the element ".button"
78
- Then I should see "You clicked on .button"
79
-
80
- @javascript
81
- Scenario: /^I click on the element for .*?$/
82
- When I go to "/static_pages/click_on"
83
- And I click on the element for a panel
84
- Then I should see "You clicked on .panel"
85
- When I click on the element for the timeline
86
- Then I should see "You clicked on .timeline"
87
-
88
- Scenario: /^the "(.*?)" select should( not)? be sorted$/
89
- When I go to "/forms/select_fields"
90
- Then the "sorted" select should be sorted
91
- But the "unsorted" select should not be sorted
92
-
93
-
94
- Scenario: /^Then (the tag )?"..." should( not)? be visible$/
95
- When I go to "/static_pages/visibility"
96
- Then "hidden ümläüt" should not be visible
97
- And "visible ümläüt" should be visible
98
- And a hidden string with quotes should not be visible
99
- And a visible string with quotes should be visible
100
- And "hidden ümläüt" should be hidden
101
-
102
- @javascript
103
- Scenario: /^Then (the tag )?"..." should( not)? be visible$/ with javascript
104
- When I go to "/static_pages/visibility"
105
- Then "hidden ümläüt" should not be visible
106
- And "visible ümläüt" should be visible
107
- And a hidden string with quotes should not be visible
108
- And a visible string with quotes should be visible
109
- And "hidden ümläüt" should be hidden
110
-
111
- Scenario: /^the "([^\"]*)" field should( not)? be visible$/
112
- When I go to "/static_pages/visibility"
113
- Then the "Visible field" field should be visible
114
- But the "Hidden field" field should not be visible
115
-
116
- @javascript
117
- Scenario: /^the "([^\"]*)" field should( not)? be visible$/ with Javascript
118
- When I go to "/static_pages/visibility"
119
- Then the "Visible field" field should be visible
120
- But the "Hidden field" field should not be visible
121
-
122
- Scenario: /^I should (not )?see (?:|a|an |the )(.*?) element$/
123
- When I go to "/static_pages/see_element"
124
- Then I should see an element ".panel"
125
- And I should see the element ".panel"
126
- And I should see an element for a panel
127
- And I should see the element for a panel
128
- But I should not see an element ".timeline"
129
- But I should not see the element ".timeline"
130
- And I should not see an element for the timeline
131
- And I should not see the element for the timeline
132
-
133
- Scenario: /^(.*) within (.*[^:])$/
134
- When I go to "/static_pages/within"
135
- Then I should see an element ".child1" within ".container1"
136
- But I should not see an element ".child1" within ".container2"
137
-
138
- Scenario: /^(.*) within (.*[^:])$/ with a Capybara::Node::Element
139
- When I go to "/static_pages/within"
140
- Then I should see "All" within the table row containing "Admin"
141
-
142
- Scenario: /^I perform basic authentication as "([^\"]*)\/([^\"]*)" and go to (.*)$/
143
- When I go to "/authenticated/page"
144
- Then I should see "Access denied"
145
- When I perform basic authentication as "user/password" and go to "/authenticated/page"
146
- Then I should see "Action reached"
147
-
148
- @javascript
149
- Scenario: /^I perform basic authentication as "([^\"]*)\/([^\"]*)" and go to (.*)$/ with Javascript
150
- When I perform basic authentication as "user/password" and go to "/authenticated/page"
151
- Then I should see "Action reached"
152
-