cucumber-rails 1.3.0 → 1.3.1
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.
- data/.gitignore +2 -0
- data/.travis.yml +24 -3
- data/Appraisals +53 -0
- data/CONTRIBUTING.md +59 -0
- data/Gemfile +16 -1
- data/Gemfile.appraisal +3 -0
- data/History.md +38 -25
- data/README.md +30 -6
- data/Rakefile +34 -13
- data/config/cucumber.yml +15 -1
- data/cucumber-rails.gemspec +14 -22
- data/dev_tasks/yard.rake +30 -12
- data/features/allow_rescue.feature +1 -1
- data/features/choose_javascript_database_strategy.feature +19 -9
- data/features/disable_automatic_database_cleaning.feature +55 -0
- data/features/fixing_bundler_pre.feature +1 -0
- data/features/mongoid.feature +3 -0
- data/features/multiple_databases.feature +2 -0
- data/features/no_database.feature +0 -1
- data/features/step_definitions/mongo_steps.rb +3 -0
- data/gemfiles/capybara_1_1.gemfile +17 -0
- data/gemfiles/rails_3_0.gemfile +15 -0
- data/gemfiles/rails_3_1.gemfile +17 -0
- data/gemfiles/rails_3_2.gemfile +17 -0
- data/lib/cucumber/rails.rb +4 -3
- data/lib/cucumber/rails/database.rb +33 -22
- data/lib/cucumber/rails/hooks/active_record.rb +6 -2
- data/lib/cucumber/rails/hooks/database_cleaner.rb +2 -2
- data/lib/cucumber/rails/world.rb +1 -1
- data/lib/generators/cucumber/install/templates/support/_rails_each_run.rb.erb +1 -1
- data/lib/generators/cucumber/install/templates/support/capybara.rb +4 -5
- data/lib/generators/cucumber/install/templates/support/edit_warning.txt +2 -2
- data/lib/generators/cucumber/install/templates/tasks/cucumber.rake.erb +5 -5
- data/spec/spec_helper.rb +0 -1
- metadata +67 -162
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,13 +1,34 @@
|
|
1
1
|
rvm:
|
2
2
|
- 1.9.3
|
3
|
-
-
|
4
|
-
|
3
|
+
- 2.0.0
|
4
|
+
|
5
5
|
# whitelist
|
6
6
|
branches:
|
7
7
|
only:
|
8
8
|
- master
|
9
|
+
|
10
|
+
gemfile:
|
11
|
+
- gemfiles/rails_3_0.gemfile
|
12
|
+
- gemfiles/rails_3_1.gemfile
|
13
|
+
- gemfiles/rails_3_2.gemfile
|
14
|
+
- gemfiles/capybara_1_1.gemfile
|
15
|
+
|
16
|
+
matrix:
|
17
|
+
exclude:
|
18
|
+
- rvm: 2.0.0
|
19
|
+
gemfile: gemfiles/rails_3_0.gemfile
|
20
|
+
- rvm: 2.0.0
|
21
|
+
gemfile: gemfiles/rails_3_1.gemfile
|
22
|
+
- rvm: 2.0.0
|
23
|
+
gemfile: gemfiles/capybara_1_1.gemfile
|
24
|
+
|
25
|
+
services:
|
26
|
+
- mongodb
|
27
|
+
|
9
28
|
# Needed for selenium browser
|
10
|
-
before_script:
|
29
|
+
before_script:
|
30
|
+
- "export DISPLAY=:99.0"
|
31
|
+
- "sh -e /etc/init.d/xvfb start"
|
11
32
|
|
12
33
|
notifications:
|
13
34
|
email:
|
data/Appraisals
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
appraise "rails_3_0" do
|
2
|
+
gem "rails", "~> 3.0.20"
|
3
|
+
gem "capybara", "~> 2.0.2"
|
4
|
+
gem "turn"
|
5
|
+
gem "rspec-rails"
|
6
|
+
gem "jquery-rails"
|
7
|
+
gem "uglifier"
|
8
|
+
gem "sqlite3"
|
9
|
+
gem "bson_ext"
|
10
|
+
gem "mongoid"
|
11
|
+
end
|
12
|
+
|
13
|
+
appraise "rails_3_1" do
|
14
|
+
gem "rails", "~> 3.1.11"
|
15
|
+
gem "capybara", "~> 2.0.2"
|
16
|
+
gem 'turn'
|
17
|
+
gem 'rspec-rails'
|
18
|
+
gem 'sass-rails'
|
19
|
+
gem 'coffee-rails'
|
20
|
+
gem 'uglifier'
|
21
|
+
gem 'jquery-rails'
|
22
|
+
gem 'sqlite3'
|
23
|
+
gem 'bson_ext'
|
24
|
+
gem 'mongoid'
|
25
|
+
end
|
26
|
+
|
27
|
+
appraise "rails_3_2" do
|
28
|
+
gem "rails", "~> 3.2.12"
|
29
|
+
gem "capybara", "~> 2.0.2"
|
30
|
+
gem 'turn'
|
31
|
+
gem 'rspec-rails'
|
32
|
+
gem 'sass-rails'
|
33
|
+
gem 'coffee-rails'
|
34
|
+
gem 'uglifier'
|
35
|
+
gem 'jquery-rails'
|
36
|
+
gem 'sqlite3'
|
37
|
+
gem 'bson_ext'
|
38
|
+
gem 'mongoid'
|
39
|
+
end
|
40
|
+
|
41
|
+
appraise "capybara_1_1" do
|
42
|
+
gem "capybara", "~> 1.1.2"
|
43
|
+
gem "rails", "~> 3.2.12"
|
44
|
+
gem 'turn'
|
45
|
+
gem 'rspec-rails'
|
46
|
+
gem 'sass-rails'
|
47
|
+
gem 'coffee-rails'
|
48
|
+
gem 'uglifier'
|
49
|
+
gem 'jquery-rails'
|
50
|
+
gem 'sqlite3'
|
51
|
+
gem 'bson_ext'
|
52
|
+
gem 'mongoid'
|
53
|
+
end
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
## About to create a new Github Issue?
|
2
|
+
|
3
|
+
We appreciate that. But before you do, please learn our basic rules:
|
4
|
+
|
5
|
+
* This is not a support forum. If you have a question, please go to [The Cukes Google Group](http://groups.google.com/group/cukes).
|
6
|
+
* Do you have an idea for a new feature? Then don't expect it to be implemented unless you or someone else sends a [pull request](https://help.github.com/articles/using-pull-requests). You might be better to start a discussion on [the google group](http://groups.google.com/group/cukes).
|
7
|
+
* Reporting a bug? Please tell us:
|
8
|
+
* which version of Cucumber you're using
|
9
|
+
* which version of Ruby you're using.
|
10
|
+
* How to reproduce it. Bugs with a failing test in a [pull request](https://help.github.com/articles/using-pull-requests) get fixed much quicker. Some bugs may never be fixed.
|
11
|
+
* Want to paste some code or output? Put \`\`\` on a line above and below your code/output. See [GFM](https://help.github.com/articles/github-flavored-markdown)'s *Fenced Code Blocks* for details.
|
12
|
+
* We love [pull requests](https://help.github.com/articles/using-pull-requests). But if you don't have a test to go with it we probably won't merge it.
|
13
|
+
|
14
|
+
# Contributing to cucumber-rails
|
15
|
+
|
16
|
+
This document is a guide for those maintaining cucumber-Rails, and others who would like to submit patches.
|
17
|
+
|
18
|
+
## Note on Patches/Pull Requests
|
19
|
+
|
20
|
+
* Fork the project. Make a branch for your change.
|
21
|
+
* Make your feature addition or bug fix.
|
22
|
+
* Make sure your patch is well covered by tests. We don't accept changes to cucumber-rails that aren't tested.
|
23
|
+
* Please do not change the Rakefile, version, or history.
|
24
|
+
(if you want to have your own version, that is fine but
|
25
|
+
bump version in a commit by itself so we can ignore when we merge your change)
|
26
|
+
* Send us a pull request.
|
27
|
+
|
28
|
+
## Running tests
|
29
|
+
|
30
|
+
gem install bundler
|
31
|
+
bundle install
|
32
|
+
bundle exec rake
|
33
|
+
|
34
|
+
## Release Process
|
35
|
+
|
36
|
+
* Make sure `History.md` is updated with the upcoming version number, and has entries for all fixes.
|
37
|
+
* No need to add a `History.md` header at this point - this should be done when a new change is made, later.
|
38
|
+
* Make sure you have up-to-date and clean copy of cucumber/cucumber.github.com.git at the same level as cucumber repo.
|
39
|
+
|
40
|
+
Now release it
|
41
|
+
|
42
|
+
bundle update
|
43
|
+
bundle exec rake
|
44
|
+
git commit -m "Release X.Y.Z"
|
45
|
+
rake release
|
46
|
+
|
47
|
+
## Gaining Release Karma
|
48
|
+
|
49
|
+
To become a release manager, create a pull request adding your name to the list below, and include your Rubygems email address in the ticket. One of the existing Release managers will then add you.
|
50
|
+
|
51
|
+
Current release managers:
|
52
|
+
* Matt Wynne
|
53
|
+
* Aslak Hellesøy
|
54
|
+
* Kosmas Chatzimichalis
|
55
|
+
|
56
|
+
To grant release karma, issue the following command:
|
57
|
+
|
58
|
+
gem owner cucumber --add <NEW OWNER RUBYGEMS EMAIL>
|
59
|
+
|
data/Gemfile
CHANGED
@@ -1,2 +1,17 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
# Test dependencies for Rails in the default test task, as test-generated
|
4
|
+
# apps do not run bundler for speed reasons. Kept here so they can be
|
5
|
+
# excluded from Appraisal-generated gemfiles.
|
6
|
+
gem 'rails', '~> 3.2.12'
|
7
|
+
gem 'turn'
|
8
|
+
gem 'rspec-rails'
|
9
|
+
gem 'sass-rails'
|
10
|
+
gem 'coffee-rails'
|
11
|
+
gem 'uglifier'
|
12
|
+
gem 'jquery-rails'
|
13
|
+
gem 'sqlite3'
|
14
|
+
gem 'bson_ext'
|
15
|
+
gem 'mongoid'
|
16
|
+
|
2
17
|
gemspec
|
data/Gemfile.appraisal
ADDED
data/History.md
CHANGED
@@ -1,4 +1,17 @@
|
|
1
|
-
## [v1.3.
|
1
|
+
## [v1.3.1](https://github.com/cucumber/cucumber-rails/compare/v1.3.0...v1.3.1) (2013-03-15)
|
2
|
+
|
3
|
+
### New Features
|
4
|
+
|
5
|
+
* Multiple-gemfile testing and travis configuration ([#240](https://github.com/cucumber/cucumber-rails/pull/240) Simon Coffey)
|
6
|
+
|
7
|
+
### Changed Features
|
8
|
+
|
9
|
+
* Fix a typo in a template ([#228](https://github.com/cucumber/cucumber-rails/pull/228) Robin Dupret)
|
10
|
+
* Depend upon the generic test:prepare task ([#230](https://github.com/cucumber/cucumber-rails/pull/230) Graeme Mathieson)
|
11
|
+
* Allow users to disable database_cleaner hooks ([#232](https://github.com/cucumber/cucumber-rails/pull/232) Simon Coffey)
|
12
|
+
* Rails 4.0.0-beta ActionController::Integration depreciation fix ([#234](https://github.com/cucumber/cucumber-rails/pull/234) Daniel Bruns)
|
13
|
+
|
14
|
+
## [v1.3.0](https://github.com/cucumber/cucumber-rails/compare/v1.2.1...v1.3.0) (2012-02-19)
|
2
15
|
|
3
16
|
### New Features
|
4
17
|
|
@@ -8,14 +21,14 @@
|
|
8
21
|
|
9
22
|
* select_date arguments should be reversed ([#190](https://github.com/cucumber/cucumber-rails/issues/190), [#191](https://github.com/cucumber/cucumber-rails/pull/191) Gavin Hughes)
|
10
23
|
|
11
|
-
## [v1.2.1](https://github.com/cucumber/cucumber-rails/compare/v1.2.0...v1.2.1)
|
24
|
+
## [v1.2.1](https://github.com/cucumber/cucumber-rails/compare/v1.2.0...v1.2.1) (2011-12-04)
|
12
25
|
|
13
26
|
### New features
|
14
27
|
|
15
28
|
* Allow ability to use deletion as a javascript database strategy ([#185](https://github.com/cucumber/cucumber-rails/pull/185) Thijs de Vries)
|
16
29
|
* Support custom JS strategies ([#184](https://github.com/cucumber/cucumber-rails/pull/184) Michael Pabst)
|
17
30
|
|
18
|
-
## [v1.2.0](https://github.com/cucumber/cucumber-rails/compare/v1.1.1...v1.2.0)
|
31
|
+
## [v1.2.0](https://github.com/cucumber/cucumber-rails/compare/v1.1.1...v1.2.0) (2011-11-03)
|
19
32
|
|
20
33
|
### Removed features
|
21
34
|
* The (deprecated) tableish method has been removed. See https://gist.github.com/1299371 for an alternative. (Aslak Hellesøy)
|
@@ -23,14 +36,14 @@
|
|
23
36
|
### Bugfixes
|
24
37
|
* Non-threadsafe database connections shared between threads ([#166](https://github.com/cucumber/cucumber-rails/issues/166) Matt Wynne)
|
25
38
|
|
26
|
-
## [v1.1.1](https://github.com/cucumber/cucumber-rails/compare/v1.1.0...v1.1.1)
|
39
|
+
## [v1.1.1](https://github.com/cucumber/cucumber-rails/compare/v1.1.0...v1.1.1) (2011-10-03)
|
27
40
|
|
28
41
|
### Removed features
|
29
42
|
|
30
43
|
The `cucumber:feature` generator has been removed. The reasoning behind this is the same as for
|
31
44
|
removing `web_steps.rb`, `paths.rb` and `selectors.rb` in v1.1.0.
|
32
45
|
|
33
|
-
## [v1.1.0](https://github.com/cucumber/cucumber-rails/compare/v1.0.6...v1.1.0)
|
46
|
+
## [v1.1.0](https://github.com/cucumber/cucumber-rails/compare/v1.0.6...v1.1.0) (2011-09-28)
|
34
47
|
|
35
48
|
### Removed features
|
36
49
|
|
@@ -71,23 +84,23 @@ You can learn more about the reasoning behind this change at the following links
|
|
71
84
|
|
72
85
|
You can learn more about what Capybara has to offer in Capybara's [README](https://github.com/jnicklas/capybara).
|
73
86
|
|
74
|
-
## [v1.0.6](https://github.com/cucumber/cucumber-rails/compare/v1.0.5...v1.0.6)
|
87
|
+
## [v1.0.6](https://github.com/cucumber/cucumber-rails/compare/v1.0.5...v1.0.6) (2011-09-25)
|
75
88
|
|
76
89
|
### Bugfixes
|
77
90
|
* Fix deprecation warnings ([#169](https://github.com/cucumber/cucumber-rails/issues/169), [#170](https://github.com/cucumber/cucumber-rails/pull/170) Micah Geisel)
|
78
91
|
* Deprecate #tableish. The Capybara::Node::Finders API has obsoleted the need for it. ([#145](https://github.com/cucumber/cucumber-rails/issues/145) Aslak Hellesøy)
|
79
92
|
|
80
|
-
## [v1.0.5](https://github.com/cucumber/cucumber-rails/compare/v1.0.4...v1.0.5)
|
93
|
+
## [v1.0.5](https://github.com/cucumber/cucumber-rails/compare/v1.0.4...v1.0.5) (2011-09-14)
|
81
94
|
|
82
95
|
### Bugfixes
|
83
96
|
* No = dependencies in gemspec, since rubies with old YAML (sych) can't read them. (Aslak Hellesøy)
|
84
97
|
|
85
|
-
## [v1.0.4](https://github.com/cucumber/cucumber-rails/compare/v1.0.3...v1.0.4)
|
98
|
+
## [v1.0.4](https://github.com/cucumber/cucumber-rails/compare/v1.0.3...v1.0.4) (2011-09-12)
|
86
99
|
|
87
100
|
### Bugfixes
|
88
101
|
* Active_record hook prevents features that access multiple database from running correctly ([#152](https://github.com/cucumber/cucumber-rails/issues/152) winnipegtransit)
|
89
102
|
|
90
|
-
## [v1.0.3](https://github.com/cucumber/cucumber-rails/compare/v1.0.2...v1.0.3)
|
103
|
+
## [v1.0.3](https://github.com/cucumber/cucumber-rails/compare/v1.0.2...v1.0.3) (2011-09-11)
|
91
104
|
|
92
105
|
### Bugfixes
|
93
106
|
* sqlite3-ruby is now sqlite3 ([#158](https://github.com/cucumber/cucumber-rails/pull/158) Trung Le)
|
@@ -97,29 +110,29 @@ You can learn more about what Capybara has to offer in Capybara's [README](https
|
|
97
110
|
* Extend javascript emulation to handle rails CSRF protection ([#164](https://github.com/cucumber/cucumber-rails/pull/164) Jonathon M. Abbott)
|
98
111
|
* Add steps for finding fields with errors ([#162](https://github.com/cucumber/cucumber-rails/pull/162) Mike Burns)
|
99
112
|
|
100
|
-
## [v1.0.2](https://github.com/cucumber/cucumber-rails/compare/v1.0.1...v1.0.2)
|
113
|
+
## [v1.0.2](https://github.com/cucumber/cucumber-rails/compare/v1.0.1...v1.0.2) (2011-06-26)
|
101
114
|
|
102
115
|
### Bugfixes
|
103
116
|
* Removed the dependency on rack-test, since it is not used directly. v1.0.1 was incompatible with Rails 3.0.9. (Aslak Hellesøy)
|
104
117
|
|
105
|
-
## [v1.0.1](https://github.com/cucumber/cucumber-rails/compare/v1.0.0...v1.0.1)
|
118
|
+
## [v1.0.1](https://github.com/cucumber/cucumber-rails/compare/v1.0.0...v1.0.1) (2011-06-25)
|
106
119
|
|
107
120
|
### New Features
|
108
121
|
* Added a @no-database-cleaner tag you can add if you don't want to run DatabaseCleaner. Useful for debugging if you want to leave data in the database. Typical use case is to run `rails server --environment test` to look at/try app with data from test. (Aslak Hellesøy)
|
109
122
|
* History file is now in Markdown format. (Aslak Hellesøy)
|
110
123
|
|
111
|
-
## [v1.0.0](https://github.com/cucumber/cucumber-rails/compare/v0.5.2...v1.0.0)
|
124
|
+
## [v1.0.0](https://github.com/cucumber/cucumber-rails/compare/v0.5.2...v1.0.0) (2011-06-20)
|
112
125
|
|
113
126
|
### New Features
|
114
127
|
* Upgraded Cucumber dependency to 1.0.0. (Aslak Hellesøy)
|
115
128
|
|
116
|
-
## [v0.5.2](https://github.com/cucumber/cucumber-rails/compare/v0.5.1...v0.5.2)
|
129
|
+
## [v0.5.2](https://github.com/cucumber/cucumber-rails/compare/v0.5.1...v0.5.2) (2011-06-07)
|
117
130
|
|
118
131
|
### New Features
|
119
132
|
* Upgraded to Capybara 1.0.0.rc1 (Aslak Hellesøy)
|
120
133
|
* Add stats to generator (#144 Aslak Hellesøy)
|
121
134
|
|
122
|
-
## [v0.5.1](https://github.com/cucumber/cucumber-rails/compare/v0.5.0...v0.5.1)
|
135
|
+
## [v0.5.1](https://github.com/cucumber/cucumber-rails/compare/v0.5.0...v0.5.1) (2011-05-25)
|
123
136
|
|
124
137
|
### Bugfixes
|
125
138
|
* Mixed DB access feature for @javascript drivers (#142 Alexander Mankuta)
|
@@ -127,14 +140,14 @@ You can learn more about what Capybara has to offer in Capybara's [README](https
|
|
127
140
|
* New project can't find capybara's "visit" (#143 Aslak Hellesøy)
|
128
141
|
* rails generate cucumber:install attempts double run (#140 Aslak Hellesøy)
|
129
142
|
|
130
|
-
## [v0.5.0](https://github.com/cucumber/cucumber-rails/compare/v0.5.0.beta1...v0.5.0)
|
143
|
+
## [v0.5.0](https://github.com/cucumber/cucumber-rails/compare/v0.5.0.beta1...v0.5.0) (2011-05-17)
|
131
144
|
|
132
145
|
### Bugfixes
|
133
146
|
* undefined method `add_assertion' for nil:NilClass (#96, #97, #98 Aslak Hellesøy)
|
134
147
|
* Capybara name error from env.rb (#125 Aslak Hellesøy)
|
135
148
|
* Fixed date-localization bug (#138 Michael Opitz)
|
136
149
|
|
137
|
-
## [v0.5.0.beta1](https://github.com/cucumber/cucumber-rails/compare/v0.4.1...v0.5.0.beta1)
|
150
|
+
## [v0.5.0.beta1](https://github.com/cucumber/cucumber-rails/compare/v0.4.1...v0.5.0.beta1) (2011-05-09)
|
138
151
|
|
139
152
|
### Removed features
|
140
153
|
* Dropped support for Rails 2 (Aslak Hellesøy)
|
@@ -146,14 +159,14 @@ You can learn more about what Capybara has to offer in Capybara's [README](https
|
|
146
159
|
* Generated paths.rb cleanup (#133 Tim Pope)
|
147
160
|
* Allow css pseudo-classes in scopers (#122 twalpole)
|
148
161
|
|
149
|
-
## [v0.4.1](https://github.com/cucumber/cucumber-rails/compare/v0.4.0...v0.4.1)
|
162
|
+
## [v0.4.1](https://github.com/cucumber/cucumber-rails/compare/v0.4.0...v0.4.1) (2011-04-05)
|
150
163
|
|
151
164
|
### Bugfixes
|
152
165
|
* Fixed incorrect warning in generated files. (#115 Emanuele Vicentini)
|
153
166
|
* Fixed incorrect hooks for DatabaseCleaner (#113 Markus Bengts)
|
154
167
|
* Throw an error if the user forgot to add DatabaseCleaner to the Gemfile, allowing them to decide whether or not to use it. (#36 Aslak Hellesøy, Ryan Bigg)
|
155
168
|
|
156
|
-
## [v0.4.0](https://github.com/cucumber/cucumber-rails/compare/v0.3.2...v0.4.0)
|
169
|
+
## [v0.4.0](https://github.com/cucumber/cucumber-rails/compare/v0.3.2...v0.4.0) (2011-03-20)
|
157
170
|
|
158
171
|
### New Features
|
159
172
|
* Add selectors helper (#63 Bodaniel Jeanes)
|
@@ -176,12 +189,12 @@ You can learn more about what Capybara has to offer in Capybara's [README](https
|
|
176
189
|
* Cucumber::Rails::World.use_transactional_fixtures. TODO: Explain what to do instead.
|
177
190
|
No more Cucumber::Rails::World.use_transactional_fixtures = false. Use DatabaseCleaner.strategy = :none instead
|
178
191
|
|
179
|
-
## [v0.3.2](https://github.com/cucumber/cucumber-rails/compare/v0.3.1...v0.3.2)
|
192
|
+
## [v0.3.2](https://github.com/cucumber/cucumber-rails/compare/v0.3.1...v0.3.2) (2010-06-06) The `rails-2.3.x` support branch branches off from here.
|
180
193
|
* web_steps.rb uses "([^"]*)" instead of "([^\"]*)" (Aslak Hellesøy)
|
181
194
|
* Renamed cucumber:skeleton to cucumber:install (Rails 3 generator). (Aslak Hellesøy)
|
182
195
|
* Upgraded to be compatible with rspec 2.0.0.beta.10 (#35 Gabor Ratky, Pete Yandell)
|
183
196
|
|
184
|
-
## [v0.3.1](https://github.com/cucumber/cucumber-rails/compare/v0.3.0...v0.3.1)
|
197
|
+
## [v0.3.1](https://github.com/cucumber/cucumber-rails/compare/v0.3.0...v0.3.1) (2010-05-04)
|
185
198
|
|
186
199
|
This release has a lot of bugfixes! The test suite (based on Aruba) verifies that Cucumber-Rails
|
187
200
|
now works with various combinations of:
|
@@ -210,7 +223,7 @@ separate rerun profile, so all rerun.txt related issues should now be gone.
|
|
210
223
|
* "Rspec is not missing constant Matchers!" error. (#27 David Chelimsky, Aslak Hellesøy)
|
211
224
|
* @culerity tag breaks Rails 3 RESTful helpers (#17 Aslak Hellesøy)
|
212
225
|
|
213
|
-
## [v0.3.0](https://github.com/cucumber/cucumber-rails/compare/v0.2.4...v0.3.0)
|
226
|
+
## [v0.3.0](https://github.com/cucumber/cucumber-rails/compare/v0.2.4...v0.3.0) (2010-02-26)
|
214
227
|
|
215
228
|
This is a major release since we're now supporting both Rails 3 and RSpec 2. Older versions
|
216
229
|
(Rails 2 and RSpec 1) are still supported.
|
@@ -238,7 +251,7 @@ This is a major release since we're now supporting both Rails 3 and RSpec 2. Old
|
|
238
251
|
* Started to work on solutions for generating suitable support files depending on Rails version
|
239
252
|
- see skeleton_base.rb#create_feature_support and templates/support
|
240
253
|
|
241
|
-
## [v0.2.4](https://github.com/cucumber/cucumber-rails/compare/v0.2.3...v0.2.4)
|
254
|
+
## [v0.2.4](https://github.com/cucumber/cucumber-rails/compare/v0.2.3...v0.2.4) (2010-01-18)
|
242
255
|
|
243
256
|
### New Features
|
244
257
|
* Added Spanish translation (Gabriel)
|
@@ -253,7 +266,7 @@ This is a major release since we're now supporting both Rails 3 and RSpec 2. Old
|
|
253
266
|
* Capybara web_steps.rb with_scope didn't work in nested steps (Lenny Marks)
|
254
267
|
* Fixed "should not see" steps in web_steps.rb to use the correct selector (Toni Tuominen)
|
255
268
|
|
256
|
-
## [v0.2.3](https://github.com/cucumber/cucumber-rails/compare/v0.2.2...v0.2.3)
|
269
|
+
## [v0.2.3](https://github.com/cucumber/cucumber-rails/compare/v0.2.2...v0.2.3) (2010-01-03)
|
257
270
|
|
258
271
|
### New Features
|
259
272
|
* The #tableish Proc can return Strings as well as Nokogiri nodes now. (Aslak Hellesøy)
|
@@ -261,7 +274,7 @@ This is a major release since we're now supporting both Rails 3 and RSpec 2. Old
|
|
261
274
|
### Bugfixes
|
262
275
|
* Handle all types of URIs in "I should be on ..." steps. (#5 Andrew D. Smith)
|
263
276
|
|
264
|
-
## [v0.2.2](https://github.com/cucumber/cucumber-rails/compare/v0.2.1...v0.2.2)
|
277
|
+
## [v0.2.2](https://github.com/cucumber/cucumber-rails/compare/v0.2.1...v0.2.2) (2009-12-21)
|
265
278
|
|
266
279
|
### Bugfixes
|
267
280
|
* Fix bad link in gemspec. (Aslak Hellesøy)
|
@@ -272,7 +285,7 @@ This is a major release since we're now supporting both Rails 3 and RSpec 2. Old
|
|
272
285
|
### New features
|
273
286
|
* Czech translations. (Jiří Zajpt)
|
274
287
|
|
275
|
-
## [v0.2.1](https://github.com/cucumber/cucumber-rails/compare/v0.2.0...v0.2.1)
|
288
|
+
## [v0.2.1](https://github.com/cucumber/cucumber-rails/compare/v0.2.0...v0.2.1) (2009-12-16)
|
276
289
|
|
277
290
|
Small bugfix release
|
278
291
|
|
data/README.md
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
# Cucumber-Rails
|
2
2
|
|
3
3
|
[](http://travis-ci.org/cucumber/cucumber-rails)
|
4
|
-
[](https://gemnasium.com/cucumber/cucumber-rails)
|
5
4
|
|
6
|
-
Cucumber-Rails brings Cucumber to Rails 3.x. For Rails
|
5
|
+
Cucumber-Rails brings Cucumber to Rails 3.x. For Rails 2.3.x support, see the [rails-2.3.x branch](https://github.com/cucumber/cucumber-rails/tree/rails-2.3.x).
|
7
6
|
|
8
7
|
## Installation
|
9
8
|
|
10
9
|
Before you can use the generator, add the gem to your project's Gemfile as follows:
|
11
10
|
|
12
11
|
group :test do
|
13
|
-
gem 'cucumber-rails'
|
12
|
+
gem 'cucumber-rails', :require => false
|
14
13
|
# database_cleaner is not required, but highly recommended
|
15
14
|
gem 'database_cleaner'
|
16
15
|
end
|
@@ -55,10 +54,35 @@ I strongly recommend rvm and ruby 1.9.3. When you have that, cd into your cucumb
|
|
55
54
|
gem install bundler
|
56
55
|
bundle install
|
57
56
|
|
58
|
-
### Running all
|
57
|
+
### Running all tests
|
59
58
|
|
60
|
-
With all dependencies installed, all features should pass:
|
59
|
+
With all dependencies installed, all specs and features should pass:
|
61
60
|
|
62
|
-
rake
|
61
|
+
rake
|
63
62
|
|
64
63
|
One of the features uses MongoDB, which needs to be running in order to make features/mongoid.feature to pass.
|
64
|
+
|
65
|
+
### Running Appraisal suite
|
66
|
+
|
67
|
+
In order to test against multiple versions of key dependencies, the [Appraisal](https://github.com/thoughtbot/appraisal) is used to generate multiple gemfiles, stored in the `gemfiles/` directory. Normally these will only run on Travis; however, if you want to run the full test suite against all gemfiles, run the following commands:
|
68
|
+
|
69
|
+
rake gemfiles:install
|
70
|
+
rake test:all
|
71
|
+
|
72
|
+
To run the suite against a named gemfile, use the following:
|
73
|
+
|
74
|
+
rake test:gemfile[rails_3_0]
|
75
|
+
|
76
|
+
To remove and rebuild the different gemfiles (for example, to update a rails version or its dependencies), use the following:
|
77
|
+
|
78
|
+
rake gemfiles:rebuild
|
79
|
+
|
80
|
+
### Adding dependencies
|
81
|
+
|
82
|
+
To support the multiple-gemfile testing, when adding a new dependency the following rules apply:
|
83
|
+
|
84
|
+
1. If it's a runtime dependency of the gem, add it to the gemspec
|
85
|
+
2. If it's a primary development dependency, add it to the gemspec
|
86
|
+
3. If it's a dependency of a generated rails app in a test, add it to the Gemfile (for local test runs) and each appraisal section (if necessary).
|
87
|
+
|
88
|
+
For example, rspec is a primary development dependency, so it lives in the gemspec. By contrast, coffee-rails is a dependency of apps generated with rails 3.1 and 3.2, so lives in the main Gemfile and the rails 3.1 and 3.2 appraisal sections.
|
data/Rakefile
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
CUCUMBER_RAILS_VERSION = Gem::Specification.load(File.dirname(__FILE__) + '/cucumber-rails.gemspec').version.version
|
3
3
|
require 'rubygems'
|
4
|
+
require 'bundler'
|
5
|
+
require 'bundler/setup'
|
6
|
+
require 'appraisal'
|
4
7
|
require 'rdoc' # https://github.com/lsegal/yard/commit/b861dcc2d7f7e1fbbed7b552ac2e4f7caf68bafa
|
5
8
|
require 'rake/clean'
|
6
|
-
require '
|
9
|
+
require 'pathname'
|
7
10
|
Bundler::GemHelper.install_tasks
|
8
11
|
|
9
12
|
$:.unshift(File.dirname(__FILE__) + '/lib')
|
@@ -11,18 +14,36 @@ Dir["#{File.dirname(__FILE__)}/dev_tasks/*.rake"].sort.each { |ext| load ext }
|
|
11
14
|
|
12
15
|
CLEAN.include('doc', 'tmp')
|
13
16
|
|
14
|
-
|
15
|
-
|
16
|
-
task :
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
task :default => :test
|
18
|
+
|
19
|
+
task :test => [:spec, :cucumber]
|
20
|
+
|
21
|
+
namespace :test do
|
22
|
+
desc "Run tests against all gemfiles"
|
23
|
+
task :all do
|
24
|
+
Rake::Task['appraisal'].invoke('test')
|
25
|
+
end
|
26
|
+
|
27
|
+
desc "Run tests against specified gemfile, e.g. rake test:gemfile[rails_3_0]"
|
28
|
+
task :gemfile, :name do |task, args|
|
29
|
+
unless args.name && Pathname.new("gemfiles/#{args.name}.gemfile").exist?
|
30
|
+
raise ArgumentError "You must provide the name of an existing Appraisal gemfile, e.g. 'rake test:gemfile[rails_3_2]'"
|
31
|
+
end
|
32
|
+
Rake::Task["appraisal:#{args.name}"].invoke('test')
|
21
33
|
end
|
22
34
|
end
|
23
35
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
36
|
+
namespace :gemfiles do
|
37
|
+
desc "Install dependencies for all gemfiles"
|
38
|
+
task :install do
|
39
|
+
ENV['BUNDLE_GEMFILE'] = "Gemfile.appraisal"
|
40
|
+
Rake::Task['appraisal:install'].invoke
|
41
|
+
end
|
42
|
+
|
43
|
+
task :clean do
|
44
|
+
FileUtils.rm_rf("gemfiles/*")
|
45
|
+
end
|
46
|
+
|
47
|
+
desc "Rebuild generated gemfiles and install dependencies"
|
48
|
+
task :rebuild => [:clean, :install]
|
49
|
+
end
|