spreewald 1.0.0 → 1.1.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 +4 -4
- data/README.md +16 -0
- data/Rakefile +1 -1
- data/lib/spreewald/web_steps.rb +10 -10
- data/lib/spreewald_support/version.rb +1 -1
- data/tests/rails-2.3/Gemfile.lock +1 -1
- data/tests/rails-3.2/capybara-1/Gemfile.lock +1 -1
- data/tests/rails-3.2/capybara-2/Gemfile.lock +1 -1
- data/tests/shared/app/views/forms/checkbox_form.html.haml +9 -0
- data/tests/shared/features/shared/web_steps.feature +6 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d0f730a0329075536b6192fc96f82b4bc8d1e71
|
4
|
+
data.tar.gz: ef7d2eb664d117eafa5e0b57d12f94f2b487ee40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e28eb4a813726c43bb2ef49402b107b31f68c4e5a47aa9864f8d79851f2219d7a5834c18ec1fb7f83bd34017f6b2e10a888459feb589fc11536600e87986759
|
7
|
+
data.tar.gz: 784350fa08f55de3c49ce894673f485077699fe9cbf38fa53b8900f0cf45d2f24fd501e757d8bb68a9b7c79e40768dbe27da6dda328fe7d44039db51ef570b47
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Spreewald is a collection of useful steps for cucumber. Feel free to fork.
|
4
4
|
|
5
|
+
You can find a list of all contained steps at the end of this README.
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
@@ -63,6 +65,20 @@ You can achieve this in your own steps by wrapping them inside a `patiently do`
|
|
63
65
|
|
64
66
|
More info [here](https://makandracards.com/makandra/12139-waiting-for-page-load-with-spreewald).
|
65
67
|
|
68
|
+
## Contributing
|
69
|
+
|
70
|
+
Test applications for various Rails versions live in `tests/`. There is a Rake task that will run all specs in those test Rails applications for all relevant Ruby versions. Invoke it with:
|
71
|
+
|
72
|
+
bundle exec rake all:rubies
|
73
|
+
|
74
|
+
If you would like to contribute:
|
75
|
+
|
76
|
+
- Fork the repository
|
77
|
+
- Push your changes with specs
|
78
|
+
- Make sure all specs pass
|
79
|
+
- Make a pull request
|
80
|
+
|
81
|
+
|
66
82
|
## This README
|
67
83
|
|
68
84
|
The "Steps" section is autogenerated by `rake update_readme` from comments in the step definitions.
|
data/Rakefile
CHANGED
@@ -94,7 +94,7 @@ def for_each_directory_of(path, &block)
|
|
94
94
|
if directory.include?('rails-2.3') and RUBY_VERSION != '1.8.7'
|
95
95
|
puts 'Rails 2.3 tests are only run for Ruby 1.8.7'
|
96
96
|
elsif directory.include?('capybara-2') and RUBY_VERSION == '1.8.7'
|
97
|
-
puts 'Capybara requires Ruby 1.9 or greater'
|
97
|
+
puts 'Capybara 2 requires Ruby 1.9 or greater'
|
98
98
|
else
|
99
99
|
block.call(directory)
|
100
100
|
end
|
data/lib/spreewald/web_steps.rb
CHANGED
@@ -268,7 +268,7 @@ Then /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/ do |label, pa
|
|
268
268
|
patiently do
|
269
269
|
with_scope(parent) do
|
270
270
|
field_checked = find_field(label)['checked']
|
271
|
-
field_checked.should
|
271
|
+
field_checked.should == true
|
272
272
|
end
|
273
273
|
end
|
274
274
|
end
|
@@ -278,7 +278,7 @@ Then /^the "([^"]*)" checkbox(?: within (.*))? should not be checked$/ do |label
|
|
278
278
|
patiently do
|
279
279
|
with_scope(parent) do
|
280
280
|
field_checked = find_field(label)['checked']
|
281
|
-
field_checked.should
|
281
|
+
field_checked.should == false
|
282
282
|
end
|
283
283
|
end
|
284
284
|
end
|
@@ -432,7 +432,7 @@ end
|
|
432
432
|
# In a non-selenium test, we only check for `.hidden`, `.invisible` or `style: display:none`
|
433
433
|
#
|
434
434
|
# More details [here](https://makandracards.com/makandra/1049-capybara-check-that-a-page-element-is-hidden-via-css)
|
435
|
-
Then /^(the tag )?"([^\"]+)" should( not)? be visible$/ do |tag, selector_or_text,
|
435
|
+
Then /^(the tag )?"([^\"]+)" should( not)? be visible$/ do |tag, selector_or_text, hidden|
|
436
436
|
case Capybara::current_driver
|
437
437
|
when :selenium, :webkit, :poltergeist
|
438
438
|
patiently do
|
@@ -478,8 +478,7 @@ Then /^(the tag )?"([^\"]+)" should( not)? be visible$/ do |tag, selector_or_tex
|
|
478
478
|
|
479
479
|
})();
|
480
480
|
].gsub(/\n/, ' ')
|
481
|
-
|
482
|
-
page.evaluate_script(visibility_detecting_javascript).should matcher
|
481
|
+
page.evaluate_script(visibility_detecting_javascript).should == !hidden
|
483
482
|
end
|
484
483
|
else
|
485
484
|
invisibility_detecting_matcher = if tag
|
@@ -487,7 +486,7 @@ Then /^(the tag )?"([^\"]+)" should( not)? be visible$/ do |tag, selector_or_tex
|
|
487
486
|
else
|
488
487
|
have_css('.hidden, .invisible, [style~="display: none"]', :text => selector_or_text)
|
489
488
|
end
|
490
|
-
expectation =
|
489
|
+
expectation = hidden ? :should : :should_not # sic
|
491
490
|
page.send(expectation, invisibility_detecting_matcher)
|
492
491
|
end
|
493
492
|
end
|
@@ -613,9 +612,9 @@ Then /^the "([^\"]*)" (field|button) should( not)? be disabled$/ do |label, kind
|
|
613
612
|
end
|
614
613
|
|
615
614
|
# Tests that a field with the given label is visible.
|
616
|
-
Then /^the "([^\"]*)" field should( not)? be visible$/ do |label,
|
615
|
+
Then /^the "([^\"]*)" field should( not)? be visible$/ do |label, hidden|
|
617
616
|
field = find_field(label)
|
618
|
-
|
617
|
+
|
619
618
|
case Capybara::current_driver
|
620
619
|
when :selenium, :webkit
|
621
620
|
patiently do
|
@@ -625,9 +624,10 @@ Then /^the "([^\"]*)" field should( not)? be visible$/ do |label, negate|
|
|
625
624
|
return(field.is(':visible'));
|
626
625
|
})();
|
627
626
|
].gsub(/\n/, ' ')
|
628
|
-
page.evaluate_script(visibility_detecting_javascript).
|
627
|
+
page.evaluate_script(visibility_detecting_javascript).should == !hidden
|
629
628
|
end
|
630
629
|
else
|
630
|
+
expectation = hidden ? :should_not : :should
|
631
631
|
field.send(expectation, be_visible)
|
632
632
|
end
|
633
633
|
end
|
@@ -639,7 +639,7 @@ When /^I wait for the page to load$/ do
|
|
639
639
|
if [:selenium, :webkit, :poltergeist].include?(Capybara.current_driver)
|
640
640
|
patiently do
|
641
641
|
# when no jQuery is loaded, we assume there are no pending AJAX requests
|
642
|
-
page.evaluate_script("typeof jQuery === 'undefined' || $.active == 0").should
|
642
|
+
page.evaluate_script("typeof jQuery === 'undefined' || $.active == 0").should == true
|
643
643
|
end
|
644
644
|
end
|
645
645
|
page.has_content? ''
|
@@ -45,3 +45,9 @@ Feature: Web steps
|
|
45
45
|
|
46
46
|
When I go back
|
47
47
|
Then I should be on "/static_pages/link_to_home"
|
48
|
+
|
49
|
+
|
50
|
+
Scenario: /^the "([^"]*)" checkbox(?: within (.*))? should be checked$/
|
51
|
+
When I go to "/forms/checkbox_form"
|
52
|
+
Then the "Checked" checkbox should be checked
|
53
|
+
And the "Unchecked" checkbox should not be checked
|
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.
|
4
|
+
version: 1.1.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: 2014-07-
|
11
|
+
date: 2014-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cucumber-rails
|
@@ -129,6 +129,7 @@ files:
|
|
129
129
|
- tests/shared/app/controllers/static_pages_controller.rb
|
130
130
|
- tests/shared/app/controllers/tables_controller.rb
|
131
131
|
- tests/shared/app/models/mailer.rb
|
132
|
+
- tests/shared/app/views/forms/checkbox_form.html.haml
|
132
133
|
- tests/shared/app/views/forms/form1.html.haml
|
133
134
|
- tests/shared/app/views/forms/form2.html.haml
|
134
135
|
- tests/shared/app/views/layouts/application.html.haml
|
@@ -211,6 +212,7 @@ test_files:
|
|
211
212
|
- tests/shared/app/controllers/static_pages_controller.rb
|
212
213
|
- tests/shared/app/controllers/tables_controller.rb
|
213
214
|
- tests/shared/app/models/mailer.rb
|
215
|
+
- tests/shared/app/views/forms/checkbox_form.html.haml
|
214
216
|
- tests/shared/app/views/forms/form1.html.haml
|
215
217
|
- tests/shared/app/views/forms/form2.html.haml
|
216
218
|
- tests/shared/app/views/layouts/application.html.haml
|