cucumber-rails2 0.3.3

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 (64) hide show
  1. data/.gitignore +4 -0
  2. data/HACKING.rdoc +24 -0
  3. data/History.txt +145 -0
  4. data/LICENSE +22 -0
  5. data/README.rdoc +70 -0
  6. data/Rakefile +24 -0
  7. data/VERSION +1 -0
  8. data/config/.gitignore +1 -0
  9. data/cucumber-rails2.gemspec +111 -0
  10. data/dev_tasks/cucumber.rake +5 -0
  11. data/dev_tasks/rspec.rake +13 -0
  12. data/features/rails2.feature +64 -0
  13. data/features/rails3.feature +97 -0
  14. data/features/rerun_profile.feature +39 -0
  15. data/features/step_definitions/cucumber_rails_steps.rb +35 -0
  16. data/features/support/env.rb +4 -0
  17. data/features/support/matchers/files.rb +17 -0
  18. data/generators/cucumber/USAGE +13 -0
  19. data/generators/cucumber/cucumber_generator.rb +88 -0
  20. data/generators/feature/USAGE +12 -0
  21. data/generators/feature/feature_generator.rb +47 -0
  22. data/lib/cucumber/rails/action_controller.rb +65 -0
  23. data/lib/cucumber/rails/active_record.rb +34 -0
  24. data/lib/cucumber/rails/capybara_javascript_emulation.rb +81 -0
  25. data/lib/cucumber/rails/rspec.rb +22 -0
  26. data/lib/cucumber/rails/test_unit.rb +7 -0
  27. data/lib/cucumber/rails/world.rb +48 -0
  28. data/lib/cucumber/web/tableish.rb +118 -0
  29. data/lib/generators/cucumber/feature/USAGE +16 -0
  30. data/lib/generators/cucumber/feature/feature_base.rb +29 -0
  31. data/lib/generators/cucumber/feature/feature_generator.rb +37 -0
  32. data/lib/generators/cucumber/feature/named_arg.rb +17 -0
  33. data/lib/generators/cucumber/install/USAGE +15 -0
  34. data/lib/generators/cucumber/install/install_base.rb +202 -0
  35. data/lib/generators/cucumber/install/install_generator.rb +64 -0
  36. data/spec/cucumber/web/tableish_spec.rb +192 -0
  37. data/spec/generators/cucumber/install/install_base_spec.rb +84 -0
  38. data/spec/spec.opts +2 -0
  39. data/spec/spec_helper.rb +6 -0
  40. data/templates/feature/feature.erb +63 -0
  41. data/templates/feature/steps.erb +14 -0
  42. data/templates/install/config/cucumber.yml.erb +8 -0
  43. data/templates/install/environments/cucumber.rb.erb +37 -0
  44. data/templates/install/script/cucumber +10 -0
  45. data/templates/install/step_definitions/capybara_steps.rb.erb +214 -0
  46. data/templates/install/step_definitions/web_steps_cs.rb.erb +136 -0
  47. data/templates/install/step_definitions/web_steps_da.rb.erb +114 -0
  48. data/templates/install/step_definitions/web_steps_de.rb.erb +136 -0
  49. data/templates/install/step_definitions/web_steps_es.rb.erb +136 -0
  50. data/templates/install/step_definitions/web_steps_ja.rb.erb +139 -0
  51. data/templates/install/step_definitions/web_steps_ko.rb.erb +141 -0
  52. data/templates/install/step_definitions/web_steps_no.rb.erb +114 -0
  53. data/templates/install/step_definitions/web_steps_pt-BR.rb.erb +140 -0
  54. data/templates/install/step_definitions/webrat_steps.rb.erb +276 -0
  55. data/templates/install/support/_rails_each_run.rb.erb +35 -0
  56. data/templates/install/support/_rails_prefork.rb.erb +12 -0
  57. data/templates/install/support/capybara.rb +9 -0
  58. data/templates/install/support/edit_warning.txt +5 -0
  59. data/templates/install/support/paths.rb +33 -0
  60. data/templates/install/support/rails.rb.erb +4 -0
  61. data/templates/install/support/rails_spork.rb.erb +13 -0
  62. data/templates/install/support/webrat.rb +8 -0
  63. data/templates/install/tasks/cucumber.rake.erb +48 -0
  64. metadata +143 -0
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ pkg
2
+ doc
3
+ tmp
4
+ coverage
data/HACKING.rdoc ADDED
@@ -0,0 +1,24 @@
1
+ = Hacking on Cucumber-Rails
2
+
3
+ If you have a bugfix or a new feature you want to contribute, please fork on Github and make your own feature branch:
4
+
5
+ git clone git@github.com:you/cucumber-rails.git
6
+ git checkout -b 87-add-chinese-translation
7
+
8
+ The feature branch should contain a ticket number (if appliccable) and a descriptive name that aligns with the ticket name.
9
+
10
+ == Setting up your environment
11
+
12
+ Before you change anything, you should make sure you can run all the Cucumber features for Cucumber-Rails. You need rvm.
13
+
14
+ sudo gem install rvm
15
+ rvm install ruby-1.8.7-p249 ruby-1.9.1-p378
16
+
17
+ == Running all features
18
+
19
+ rake cucumber
20
+
21
+ This takes a long time because a lot of gems have to be installed. (This is done while running the cucumber features)
22
+
23
+ == Gotchas
24
+ * https://rails.lighthouseapp.com/projects/8994/tickets/3865-invalid-gemspec-format-in-and-already-initialized-constant-warnings-with-ruby-192dev
data/History.txt ADDED
@@ -0,0 +1,145 @@
1
+ == 0.3.2 2010-06-06
2
+
3
+ == Changed features
4
+ * web_steps.rb uses "([^"]*)" instead of "([^\"]*)" (Aslak Hellesøy)
5
+ * Renamed cucumber:skeleton to cucumber:install (Rails 3 generator). (Aslak Hellesøy)
6
+ * Upgraded to be compatible with rspec 2.0.0.beta.10 (#35 Gabor Ratky, Pete Yandell)
7
+
8
+ == 0.3.1 2010-05-03
9
+
10
+ This release has a lot of bugfixes! The test suite (based on Aruba) verifies that Cucumber-Rails
11
+ now works with various combinations of:
12
+
13
+ * Cucumber 0.6.x/0.7.2
14
+ * Rails2/Rails3
15
+ * RSpec1/RSpec2/Test-Unit/Mini-Uint
16
+ * Webrat/CapyBara
17
+ * MRI 1.8.6/1.8.7/1.9.1
18
+
19
+ This one requires a special mention: The handy (but error prone) rerun functionality has moved to a
20
+ separate rerun profile, so all rerun.txt related issues should now be gone.
21
+
22
+ == New features
23
+ * New Capybara Step Definitions for Dates. (Rob Holland)
24
+ * Steps now recognise "Given I am on the users page" etc. (Solomon White)
25
+ * Relegate rerun to its own profile and rake task (Mike Sassak)
26
+ * Added new Then /^(?:|I )should see JSON:$/ step definition to Capybara - useful for REST. (Aslak Hellesøy)
27
+ * The #tableish method now understands tables with colspan and rowspan
28
+ * Support RSpec 2 (Johan Kiviniemi, Aslak Hellesøy, Rolf Bjaanes)
29
+ * Added @no-js-emulation, which turns off javascript emulation for delete links when not using browser testing. (Rob Holland, Aslak Hellesøy)
30
+ * Korean translation (Shim Taewon)
31
+
32
+ === Bugfixes
33
+ * No longer need to install the test-unit gem on 1.9.1 (Aslak Hellesøy)
34
+ * capybara rack-test field should contain step support for textarea (#28 Nicholas Rutherford)
35
+ * "Rspec is not missing constant Matchers!" error. (#27 David Chelimsky, Aslak Hellesøy)
36
+ * @culerity tag breaks Rails 3 RESTful helpers (#17 Aslak Hellesøy)
37
+
38
+ == 0.3.0 2010-02-25
39
+
40
+ This is a major release since we're now supporting both Rails 3 and RSpec 2. Older versions
41
+ (Rails 2 and RSpec 1) are still supported.
42
+
43
+ === New Features
44
+ * Support for both Rails-2.x and Rails-3.x (#10 Kristian Mandrup, Aleksey Gureiev, Ashley Moran, Aslak Hellesøy)
45
+ * Support for both RSpec-1.x and RSpec-2.x (Louis Rose, Aslak Hellesøy)
46
+ * Features will default to Javascript emulation unless you turn it off with @culerity, (Aslak Hellesøy)
47
+ * Japanese translation. (MOROHASHI Kyosuke)
48
+
49
+ === Bugfixes
50
+ * Support projects that don't use ActiveRecord (#14 Aslak Hellesøy)
51
+ * Running test/unit tests when creating a skeleton (#12 Aleksey Gureiev)
52
+ * Inform that config/database.yml is overwritten, be smarter about it and inform the user that it is forced. (#15 Aslak Hellesøy)
53
+ * Reverts changes from issue #5 where verification of query string params was added to the step for being on a page. Adds step discussed in issue #11 for verification of query string. (#5, #11 Eric Milford)
54
+ * Fixed typos in Capybara's web steps (has_not_xpath? => has_no_xpath?) (Thorbjørn Hermansen, Carlos Antonio da Silva)
55
+
56
+ == 0.2.5 2010-02-07
57
+
58
+ === New Features
59
+ * Added Danish translation (Kristian Mandrup)
60
+ * Using Gemfile for Rails 3. Tidies it up and adds cucumber gems only if not already present! (Kristian Mandrup)
61
+ * Added Generators wrapper module for Rails 3 generators so they are now all in Cucumber::Generators (Kristian Mandrup)
62
+
63
+ === Bugfixes
64
+ * Started to work on solutions for generating suitable support files depending on Rails version
65
+ - see skeleton_base.rb#create_feature_support and templates/support
66
+
67
+ == 0.2.4 2010-01-18
68
+
69
+ === New Features
70
+ * Added Spanish translation (Gabriel)
71
+
72
+ === Bugfixes
73
+ * Fixed some broken Webrat/Test::Unit step definitions. (Aslak Hellesøy)
74
+ * Better Javascript emulation with Capybara (#7 Thorbjørn Hermansen)
75
+ * Removed stray quote in i18n web_steps.rb (Gabriel)
76
+ * Update hooks to new boolean logic (#6 Jon Larkowski, Michael MacDonald)
77
+ * Fixed incompatibility with Rails 3 (Mutwin Kraus)
78
+ * Fixed broken "fill in the following" step for Capybara web_steps (Lenny Marks)
79
+ * Capybara web_steps.rb with_scope didn't work in nested steps (Lenny Marks)
80
+ * Fixed "should not see" steps in web_steps.rb to use the correct selector (Toni Tuominen)
81
+
82
+ == 0.2.3 2010-01-03
83
+
84
+ === New Features
85
+ * The #tableish Proc can return Strings as well as Nokogiri nodes now. (Aslak Hellesøy)
86
+
87
+ === Bugfixes
88
+ * Handle all types of URIs in "I should be on ..." steps. (#5 Andrew D. Smith)
89
+
90
+ == 0.2.2 2009-12-21
91
+
92
+ === Bugfixes
93
+ * Fix bad link in gemspec. (Aslak Hellesøy)
94
+ * Unified file attaching step names. (Jiří Zajpt)
95
+ * Fix typos in variable names in several step definitions. (Jiří Zajpt)
96
+ * cucumber.rake finds the wrong vendored cucumber when a plugin name starts with "cucumber" (#4 James Herdman, Paco Benavent, Aslak Hellesøy)
97
+
98
+ === New features
99
+ * Czech translations. (Jiří Zajpt)
100
+
101
+ == 0.2.1 2009-12-15
102
+
103
+ Small bugfix release
104
+
105
+ === Bugfixes
106
+ * Made sure database_cleaner is always set up as a dependency in config/environments/cucumber.rb. (Aslak Hellesøy)
107
+
108
+ == 0.2.0 2009-12-14
109
+
110
+ This is the first release of cucumber-rails, which was factored out of cucumber.
111
+ We're calling it 0.2.0 just because we did some prereleases in the 0.1 series,
112
+ and to celebrate that cucumber-rails now supports Capybara as an alternative to Webrat.
113
+
114
+ === UPGRADING FROM A PREVIOUS CUCUMBER SETUP
115
+
116
+ 1) Remove your features/support/version_check.rb
117
+ 2) Remove your features/step_definitions/webrat_steps.rb
118
+ If you have added your own custom step definitions to this file,
119
+ put them in a different file under features/step_definitions
120
+ 3) run "ruby script/generate cucumber --help" to see what options you have.
121
+ 4) run "ruby script/generate cucumber" - plus whatever options you think fit for you.
122
+ Answer "n" (no) when asked to overwrite paths.rb.
123
+ Answer "y" (yes) when asked to overwrite other files, but do "d" (diff) first.
124
+ If you have edits in some of these files that you want to keep, store the diff
125
+ in a temporary file and reapply after you have overwritten the file. ALso consider
126
+ adding your custom code to another file that won't be overwritten the next time
127
+ you upgrade.
128
+
129
+ Many people have edits in their env.rb file. This is something you should try
130
+ to avoid in the future. Instead, keep your custom setup in a different file
131
+ under features/support - Cucumber loads all files under features/**/*.rb anyway.
132
+
133
+ If you have a Spork setup, see the end of this thread:
134
+ http://groups.google.com/group/cukes/browse_thread/thread/475385cc26377215
135
+
136
+ === New features
137
+ * Added an @emulate_rails_javascript tag that will emulate onclick with Capybara (Aslak Hellesøy, Rob Holland)
138
+ * Added a smart config/cucumber.yml file that will rerun previously failing scenarios (Aslak Hellesøy)
139
+ * Support for Capybara. Run "script/generate --capybara" if you want that. (Rob Holland, Aslak Hellesøy)
140
+ * New #tableish method to extract table-like data from a HTML page. Pure Nokogiri/CSS3/XPath. (Aslak Hellesøy)
141
+
142
+ === Bugfixes
143
+ * Webrat step "Then I should be on" should use request_uri instead of path for missing query string parameters (ZhangJinzhu)
144
+ * Added MIME type parameter to attach file step definition (Felix Flores)
145
+ * Added check when including ActiveSupport::Testing::SetupAndTeardown for older Rails versions (Jeremy Durham)
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2008,2009,2010 Aslak Hellesøy and the Cucumber Team.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,70 @@
1
+ = Cucumber-Rails
2
+
3
+ Cucumber-Rails brings Cucumber to Rails2 and Rails3. It contains 2 generators - one
4
+ for bootstrapping your Rails app for Cucumber, and a second one for generating features.
5
+
6
+ Cucumber-Rails also contains Cucumber Step Definitions that wrap Capybara or Webrat,
7
+ giving you a head start for writing Cucumber features against your Rails app.
8
+
9
+ == Installation
10
+
11
+ === Rails 3:
12
+
13
+ Before you can use the generator, add the necessary gems to your project's Gemfile as follows:
14
+
15
+ gem 'capybara'
16
+ gem 'database_cleaner'
17
+ gem 'cucumber-rails'
18
+ gem 'cucumber', '0.7.2'
19
+ gem 'rspec-rails', '2.0.0.beta.8'
20
+ gem 'spork'
21
+ gem 'launchy' # So you can do Then show me the page
22
+
23
+ Then install the gems by running:
24
+
25
+ bundle install
26
+
27
+ Learn about the various options:
28
+
29
+ ruby script/rails generate cucumber:install --help
30
+
31
+ Finally, bootstrap your Rails app, for example:
32
+
33
+ ruby script/rails generate cucumber:install --rspec --capybara
34
+
35
+ === Rails 2.x:
36
+
37
+ Before you can use the generator, install the gem by running:
38
+
39
+ gem install cucumber-rails
40
+
41
+ Learn about the various options:
42
+
43
+ ruby script/generate cucumber --help
44
+
45
+ Finally, bootstrap your Rails app, for example:
46
+
47
+ ruby script/generate cucumber --rspec --capybara
48
+
49
+ == Generating a Cucumber feature
50
+
51
+ IMPORTANT: Only do this if you are new to Cucumber. We recommend you write your
52
+ Cucumber features by hand once you get the hang of it.
53
+
54
+ === Rails 3:
55
+
56
+ Example:
57
+
58
+ ruby script/rails generate cucumber:feature post title:string body:text published:boolean
59
+ ruby script/rails generate scaffold post title:string body:text published:boolean
60
+ rake db:migrate
61
+ rake cucumber
62
+
63
+ === Rails 2:
64
+
65
+ Example:
66
+
67
+ ruby script/generate feature post title:string body:text published:boolean
68
+ ruby script/generate scaffold post title:string body:text published:boolean
69
+ rake db:migrate
70
+ rake cucumber
data/Rakefile ADDED
@@ -0,0 +1,24 @@
1
+ # encoding: utf-8
2
+
3
+ begin
4
+ require 'jeweler'
5
+ Jeweler::Tasks.new do |gemspec|
6
+ gemspec.name = "cucumber-rails"
7
+ gemspec.summary = "Cucumber Generators and Runtime for Rails"
8
+ gemspec.description = "Cucumber Generators and Runtime for Rails"
9
+ gemspec.email = "cukes@googlegroups.com"
10
+ gemspec.homepage = "http://cukes.info"
11
+ gemspec.authors = ["Dennis Blöte", "Aslak Hellesøy", "Rob Holland"]
12
+ gemspec.homepage = "http://github.com/aslakhellesoy/cucumber-rails"
13
+
14
+ gemspec.add_dependency 'cucumber', '>= 0.8.0'
15
+ gemspec.add_development_dependency 'aruba', '>= 0.1.9'
16
+ end
17
+ Jeweler::GemcutterTasks.new
18
+ rescue LoadError
19
+ puts "Jeweler not available. Install it with: sudo gem install jeweler"
20
+ end
21
+
22
+ $:.unshift(File.dirname(__FILE__) + '/lib')
23
+ Dir["#{File.dirname(__FILE__)}/dev_tasks/*.rake"].sort.each { |ext| load ext }
24
+ task :default => :cucumber
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.3.2
data/config/.gitignore ADDED
@@ -0,0 +1 @@
1
+ aruba-rvm.yml
@@ -0,0 +1,111 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{cucumber-rails2}
8
+ s.version = "0.3.3"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Dennis Bl\303\266te", "Aslak Helles\303\270y", "Rob Holland"]
12
+ s.date = %q{2010-06-06}
13
+ s.description = %q{Cucumber Generators and Runtime for Rails}
14
+ s.email = %q{cukes@googlegroups.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".gitignore",
21
+ "HACKING.rdoc",
22
+ "History.txt",
23
+ "LICENSE",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "config/.gitignore",
28
+ "cucumber-rails2.gemspec",
29
+ "dev_tasks/cucumber.rake",
30
+ "dev_tasks/rspec.rake",
31
+ "features/rails2.feature",
32
+ "features/rails3.feature",
33
+ "features/rerun_profile.feature",
34
+ "features/step_definitions/cucumber_rails_steps.rb",
35
+ "features/support/env.rb",
36
+ "features/support/matchers/files.rb",
37
+ "generators/cucumber/USAGE",
38
+ "generators/cucumber/cucumber_generator.rb",
39
+ "generators/feature/USAGE",
40
+ "generators/feature/feature_generator.rb",
41
+ "lib/cucumber/rails/action_controller.rb",
42
+ "lib/cucumber/rails/active_record.rb",
43
+ "lib/cucumber/rails/capybara_javascript_emulation.rb",
44
+ "lib/cucumber/rails/rspec.rb",
45
+ "lib/cucumber/rails/test_unit.rb",
46
+ "lib/cucumber/rails/world.rb",
47
+ "lib/cucumber/web/tableish.rb",
48
+ "lib/generators/cucumber/feature/USAGE",
49
+ "lib/generators/cucumber/feature/feature_base.rb",
50
+ "lib/generators/cucumber/feature/feature_generator.rb",
51
+ "lib/generators/cucumber/feature/named_arg.rb",
52
+ "lib/generators/cucumber/install/USAGE",
53
+ "lib/generators/cucumber/install/install_base.rb",
54
+ "lib/generators/cucumber/install/install_generator.rb",
55
+ "spec/cucumber/web/tableish_spec.rb",
56
+ "spec/generators/cucumber/install/install_base_spec.rb",
57
+ "spec/spec.opts",
58
+ "spec/spec_helper.rb",
59
+ "templates/feature/feature.erb",
60
+ "templates/feature/steps.erb",
61
+ "templates/install/config/cucumber.yml.erb",
62
+ "templates/install/environments/cucumber.rb.erb",
63
+ "templates/install/script/cucumber",
64
+ "templates/install/step_definitions/capybara_steps.rb.erb",
65
+ "templates/install/step_definitions/web_steps_cs.rb.erb",
66
+ "templates/install/step_definitions/web_steps_da.rb.erb",
67
+ "templates/install/step_definitions/web_steps_de.rb.erb",
68
+ "templates/install/step_definitions/web_steps_es.rb.erb",
69
+ "templates/install/step_definitions/web_steps_ja.rb.erb",
70
+ "templates/install/step_definitions/web_steps_ko.rb.erb",
71
+ "templates/install/step_definitions/web_steps_no.rb.erb",
72
+ "templates/install/step_definitions/web_steps_pt-BR.rb.erb",
73
+ "templates/install/step_definitions/webrat_steps.rb.erb",
74
+ "templates/install/support/_rails_each_run.rb.erb",
75
+ "templates/install/support/_rails_prefork.rb.erb",
76
+ "templates/install/support/capybara.rb",
77
+ "templates/install/support/edit_warning.txt",
78
+ "templates/install/support/paths.rb",
79
+ "templates/install/support/rails.rb.erb",
80
+ "templates/install/support/rails_spork.rb.erb",
81
+ "templates/install/support/webrat.rb",
82
+ "templates/install/tasks/cucumber.rake.erb"
83
+ ]
84
+ s.homepage = %q{http://github.com/aslakhellesoy/cucumber-rails}
85
+ s.rdoc_options = ["--charset=UTF-8"]
86
+ s.require_paths = ["lib"]
87
+ s.rubygems_version = %q{1.3.7}
88
+ s.summary = %q{Cucumber Generators and Runtime for Rails}
89
+ s.test_files = [
90
+ "spec/cucumber/web/tableish_spec.rb",
91
+ "spec/generators/cucumber/install/install_base_spec.rb",
92
+ "spec/spec_helper.rb"
93
+ ]
94
+
95
+ if s.respond_to? :specification_version then
96
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
97
+ s.specification_version = 3
98
+
99
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
100
+ s.add_runtime_dependency(%q<cucumber>, ["~> 1.1.0"])
101
+ s.add_development_dependency(%q<aruba>, [">= 0.1.9"])
102
+ else
103
+ s.add_dependency(%q<cucumber>, [">= 0.8.0"])
104
+ s.add_dependency(%q<aruba>, [">= 0.1.9"])
105
+ end
106
+ else
107
+ s.add_dependency(%q<cucumber>, [">= 0.8.0"])
108
+ s.add_dependency(%q<aruba>, [">= 0.1.9"])
109
+ end
110
+ end
111
+
@@ -0,0 +1,5 @@
1
+ require 'cucumber/rake/task'
2
+
3
+ Cucumber::Rake::Task.new do |t|
4
+ t.rcov = true
5
+ end
@@ -0,0 +1,13 @@
1
+ begin
2
+ require 'spec/rake/spectask'
3
+
4
+ desc "Run RSpec"
5
+ Spec::Rake::SpecTask.new do |t|
6
+ t.spec_opts = %w{--color --diff --format profile}
7
+ t.spec_files = FileList['spec/**/*_spec.rb']
8
+ t.rcov = ENV['RCOV']
9
+ t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/}
10
+ end
11
+ rescue LoadError
12
+ task :spec
13
+ end
@@ -0,0 +1,64 @@
1
+ Feature: Rails 2
2
+ In order to take over the world
3
+ Cucumber-Rails should work on major versions
4
+ of Rails2 and Ruby, with Capybara, Webrat, Spork and DatabaseCleaner
5
+
6
+ @announce @puts
7
+ Scenario Outline: Run Cucumber
8
+ Given I am using rvm "<ruby_version>"
9
+ And I am using rvm gemset "cucumber-rails-<rails_version>" with Gemfile:
10
+ """
11
+ source :gemcutter
12
+ gem 'rails', '<rails_version>'
13
+ gem 'sqlite3-ruby', '1.2.5'
14
+ gem 'capybara', '0.3.8'
15
+ gem 'webrat', '0.7.1'
16
+ gem 'rspec-rails', '1.3.2'
17
+ #gem 'cucumber', '0.8.0'
18
+ gem 'cucumber', :path => '../../../cucumber'
19
+ gem 'database_cleaner', '0.5.2'
20
+ gem 'culerity', '0.2.10'
21
+ gem 'celerity', '0.7.9'
22
+ """
23
+ And I successfully run "rails rails-2-app"
24
+ And I cd to "rails-2-app"
25
+ And I symlink "../../../../cucumber" to "vendor/plugins/cucumber"
26
+ And I symlink "../../.." to "vendor/plugins/cucumber-rails"
27
+ And I successfully run "ruby script/generate cucumber --capybara"
28
+ And I successfully run "ruby script/generate feature post title:string body:text published:boolean <feature_args>"
29
+ And I successfully run "ruby script/generate scaffold post title:string body:text published:boolean"
30
+ And I successfully run "ruby script/generate scaffold cukes name:string"
31
+ And I write to "app/controllers/cukes_controller.rb" with:
32
+ """
33
+ class CukesController < ApplicationController
34
+ def index
35
+ redirect_to cuke_path(10, :params => {:name => 'cucumber', :what => 'vegetable'})
36
+ end
37
+
38
+ def show
39
+ render :text => "Cuke #{params[:id]}"
40
+ end
41
+ end
42
+ """
43
+ And I write to "features/tests.feature" with:
44
+ """
45
+ Feature: Tests
46
+ Scenario: Tests
47
+ When I go to the cukes page
48
+ Then I should have the following query string:
49
+ |name|cucumber|
50
+ |what|vegetable|
51
+ And I should see "Cuke 10"
52
+ """
53
+ And I successfully run "rake db:migrate"
54
+ When I successfully run "rake cucumber"
55
+ Then it should pass with:
56
+ """
57
+ 3 scenarios (3 passed)
58
+ 14 steps (14 passed)
59
+ """
60
+
61
+ Examples:
62
+ | generator_args | feature_args | ruby_version | rails_version |
63
+ | --webrat --testunit | | 1.8.6 | 2.3.5 |
64
+ | --capybara --rspec | --capybara culerity | 1.8.7 | 2.3.8 |