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.
- data/.gitignore +4 -0
- data/HACKING.rdoc +24 -0
- data/History.txt +145 -0
- data/LICENSE +22 -0
- data/README.rdoc +70 -0
- data/Rakefile +24 -0
- data/VERSION +1 -0
- data/config/.gitignore +1 -0
- data/cucumber-rails2.gemspec +111 -0
- data/dev_tasks/cucumber.rake +5 -0
- data/dev_tasks/rspec.rake +13 -0
- data/features/rails2.feature +64 -0
- data/features/rails3.feature +97 -0
- data/features/rerun_profile.feature +39 -0
- data/features/step_definitions/cucumber_rails_steps.rb +35 -0
- data/features/support/env.rb +4 -0
- data/features/support/matchers/files.rb +17 -0
- data/generators/cucumber/USAGE +13 -0
- data/generators/cucumber/cucumber_generator.rb +88 -0
- data/generators/feature/USAGE +12 -0
- data/generators/feature/feature_generator.rb +47 -0
- data/lib/cucumber/rails/action_controller.rb +65 -0
- data/lib/cucumber/rails/active_record.rb +34 -0
- data/lib/cucumber/rails/capybara_javascript_emulation.rb +81 -0
- data/lib/cucumber/rails/rspec.rb +22 -0
- data/lib/cucumber/rails/test_unit.rb +7 -0
- data/lib/cucumber/rails/world.rb +48 -0
- data/lib/cucumber/web/tableish.rb +118 -0
- data/lib/generators/cucumber/feature/USAGE +16 -0
- data/lib/generators/cucumber/feature/feature_base.rb +29 -0
- data/lib/generators/cucumber/feature/feature_generator.rb +37 -0
- data/lib/generators/cucumber/feature/named_arg.rb +17 -0
- data/lib/generators/cucumber/install/USAGE +15 -0
- data/lib/generators/cucumber/install/install_base.rb +202 -0
- data/lib/generators/cucumber/install/install_generator.rb +64 -0
- data/spec/cucumber/web/tableish_spec.rb +192 -0
- data/spec/generators/cucumber/install/install_base_spec.rb +84 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/feature/feature.erb +63 -0
- data/templates/feature/steps.erb +14 -0
- data/templates/install/config/cucumber.yml.erb +8 -0
- data/templates/install/environments/cucumber.rb.erb +37 -0
- data/templates/install/script/cucumber +10 -0
- data/templates/install/step_definitions/capybara_steps.rb.erb +214 -0
- data/templates/install/step_definitions/web_steps_cs.rb.erb +136 -0
- data/templates/install/step_definitions/web_steps_da.rb.erb +114 -0
- data/templates/install/step_definitions/web_steps_de.rb.erb +136 -0
- data/templates/install/step_definitions/web_steps_es.rb.erb +136 -0
- data/templates/install/step_definitions/web_steps_ja.rb.erb +139 -0
- data/templates/install/step_definitions/web_steps_ko.rb.erb +141 -0
- data/templates/install/step_definitions/web_steps_no.rb.erb +114 -0
- data/templates/install/step_definitions/web_steps_pt-BR.rb.erb +140 -0
- data/templates/install/step_definitions/webrat_steps.rb.erb +276 -0
- data/templates/install/support/_rails_each_run.rb.erb +35 -0
- data/templates/install/support/_rails_prefork.rb.erb +12 -0
- data/templates/install/support/capybara.rb +9 -0
- data/templates/install/support/edit_warning.txt +5 -0
- data/templates/install/support/paths.rb +33 -0
- data/templates/install/support/rails.rb.erb +4 -0
- data/templates/install/support/rails_spork.rb.erb +13 -0
- data/templates/install/support/webrat.rb +8 -0
- data/templates/install/tasks/cucumber.rake.erb +48 -0
- metadata +143 -0
@@ -0,0 +1,64 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'install_base')
|
2
|
+
|
3
|
+
module Cucumber
|
4
|
+
class InstallGenerator < Rails::Generators::Base
|
5
|
+
|
6
|
+
include Cucumber::Generators::InstallBase
|
7
|
+
|
8
|
+
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
9
|
+
|
10
|
+
argument :language, :type => :string, :banner => "LANG", :optional => true
|
11
|
+
|
12
|
+
class_option :webrat, :type => :boolean, :desc => "Use Webrat"
|
13
|
+
class_option :capybara, :type => :boolean, :desc => "Use Capybara"
|
14
|
+
class_option :rspec, :type => :boolean, :desc => "Use RSpec"
|
15
|
+
class_option :testunit, :type => :boolean, :desc => "Use Test::Unit"
|
16
|
+
class_option :spork, :type => :boolean, :desc => "Use Spork"
|
17
|
+
class_option :skip_database, :type => :boolean, :desc => "Skip modification of database.yml", :aliases => '-D', :default => false
|
18
|
+
|
19
|
+
attr_reader :framework, :driver
|
20
|
+
|
21
|
+
def configure_defaults
|
22
|
+
@language ||= 'en'
|
23
|
+
@framework = framework_from_options || detect_current_framework || detect_default_framework
|
24
|
+
@driver = driver_from_options || detect_current_driver || detect_default_driver
|
25
|
+
end
|
26
|
+
|
27
|
+
def generate
|
28
|
+
check_upgrade_limitations
|
29
|
+
create_templates
|
30
|
+
create_scripts
|
31
|
+
create_step_definitions
|
32
|
+
create_feature_support
|
33
|
+
create_tasks
|
34
|
+
create_database unless options[:skip_database]
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.gem_root
|
38
|
+
File.expand_path("../../../../../", __FILE__)
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.source_root
|
42
|
+
File.join(gem_root, 'templates/install')
|
43
|
+
end
|
44
|
+
|
45
|
+
def cucumber_rails_env
|
46
|
+
'test'
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def framework_from_options
|
52
|
+
return :rspec if options[:rspec]
|
53
|
+
return :testunit if options[:testunit]
|
54
|
+
return nil
|
55
|
+
end
|
56
|
+
|
57
|
+
def driver_from_options
|
58
|
+
return :webrat if options[:webrat]
|
59
|
+
return :capybara if options[:capybara]
|
60
|
+
return nil
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,192 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
|
4
|
+
|
5
|
+
def World(*a); end
|
6
|
+
require 'cucumber/web/tableish'
|
7
|
+
|
8
|
+
module Cucumber
|
9
|
+
module Web
|
10
|
+
describe Tableish do
|
11
|
+
include Tableish
|
12
|
+
|
13
|
+
unless RUBY_PLATFORM =~ /java/
|
14
|
+
it "should convert a table" do
|
15
|
+
html = <<-HTML
|
16
|
+
<table id="tools">
|
17
|
+
<tr>
|
18
|
+
<th>tool</th>
|
19
|
+
<th>dude</th>
|
20
|
+
</tr>
|
21
|
+
<tr>
|
22
|
+
<td>webrat</td>
|
23
|
+
<td>bryan</td>
|
24
|
+
</tr>
|
25
|
+
<tr>
|
26
|
+
<td>cucumber</td>
|
27
|
+
<td>aslak</td>
|
28
|
+
</tr>
|
29
|
+
</table>
|
30
|
+
HTML
|
31
|
+
|
32
|
+
_tableish(html, 'table#tools tr', 'td,th').should == [
|
33
|
+
%w{tool dude},
|
34
|
+
%w{webrat bryan},
|
35
|
+
%w{cucumber aslak}
|
36
|
+
]
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should size to the first row" do
|
40
|
+
html = <<-HTML
|
41
|
+
<table id="tools">
|
42
|
+
<tr>
|
43
|
+
<th>tool</th>
|
44
|
+
<th>dude</th>
|
45
|
+
</tr>
|
46
|
+
<tr>
|
47
|
+
<td>webrat</td>
|
48
|
+
<td>bryan</td>
|
49
|
+
<td>crapola</td>
|
50
|
+
</tr>
|
51
|
+
<tr>
|
52
|
+
<td>cucumber</td>
|
53
|
+
<td>aslak</td>
|
54
|
+
<td>gunk</td>
|
55
|
+
<td>filth</td>
|
56
|
+
</tr>
|
57
|
+
</table>
|
58
|
+
HTML
|
59
|
+
|
60
|
+
_tableish(html, 'table#tools tr', 'td,th').should == [
|
61
|
+
['tool', 'dude',],
|
62
|
+
['webrat', 'bryan'],
|
63
|
+
['cucumber', 'aslak']
|
64
|
+
]
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should pad with empty Strings if some rows are shorter" do
|
68
|
+
html = <<-HTML
|
69
|
+
<table id="tools">
|
70
|
+
<tr>
|
71
|
+
<th>tool</th>
|
72
|
+
<th>dude</th>
|
73
|
+
</tr>
|
74
|
+
<tr>
|
75
|
+
<td>webrat</td>
|
76
|
+
<td>bryan</td>
|
77
|
+
</tr>
|
78
|
+
<tr>
|
79
|
+
<td>cucumber</td>
|
80
|
+
</tr>
|
81
|
+
</table>
|
82
|
+
HTML
|
83
|
+
|
84
|
+
_tableish(html, 'table#tools tr', 'td,th').should == [
|
85
|
+
%w{tool dude},
|
86
|
+
%w{webrat bryan},
|
87
|
+
['cucumber', '']
|
88
|
+
]
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should handle colspan and rowspan" do
|
92
|
+
html = <<-HTML
|
93
|
+
<table id="tools">
|
94
|
+
<tr>
|
95
|
+
<td rowspan="4">a</td>
|
96
|
+
<td>b</td>
|
97
|
+
<td>c</td>
|
98
|
+
<td>d</td>
|
99
|
+
</tr>
|
100
|
+
<tr>
|
101
|
+
<td colspan="3">e</td>
|
102
|
+
</tr>
|
103
|
+
<tr>
|
104
|
+
<td rowspan="2" colspan="2">f</td>
|
105
|
+
<td>g</td>
|
106
|
+
</tr>
|
107
|
+
<tr>
|
108
|
+
<td>h</td>
|
109
|
+
</tr>
|
110
|
+
</table>
|
111
|
+
HTML
|
112
|
+
|
113
|
+
_tableish(html, 'table#tools tr', 'td,th').should == [
|
114
|
+
['a', 'b', 'c', 'd'],
|
115
|
+
['', 'e', '', '' ],
|
116
|
+
['', 'f', '', 'g' ],
|
117
|
+
['', '', '', 'h' ],
|
118
|
+
]
|
119
|
+
end
|
120
|
+
|
121
|
+
it "should convert a dl" do
|
122
|
+
html = <<-HTML
|
123
|
+
<dl id="tools">
|
124
|
+
<dt>webrat</dt>
|
125
|
+
<dd>bryan</dd>
|
126
|
+
<dt>cucumber</dt>
|
127
|
+
<dd>aslak</dd>
|
128
|
+
</dl>
|
129
|
+
HTML
|
130
|
+
|
131
|
+
_tableish(html, 'dl#tools dt', lambda{|dt| [dt, dt.next.next]}).should == [
|
132
|
+
%w{webrat bryan},
|
133
|
+
%w{cucumber aslak}
|
134
|
+
]
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should convert a ul" do
|
138
|
+
html = <<-HTML
|
139
|
+
<ul id="phony">
|
140
|
+
<li>nope</li>
|
141
|
+
</ul>
|
142
|
+
|
143
|
+
<ul id="yes">
|
144
|
+
<li>webrat</li>
|
145
|
+
<li>bryan</li>
|
146
|
+
<li>cucumber</li>
|
147
|
+
<li>aslak</li>
|
148
|
+
</ul>
|
149
|
+
HTML
|
150
|
+
|
151
|
+
_tableish(html, 'ul#yes li', lambda{|li| [li]}).should == [
|
152
|
+
%w{webrat},
|
153
|
+
%w{bryan},
|
154
|
+
%w{cucumber},
|
155
|
+
%w{aslak},
|
156
|
+
]
|
157
|
+
end
|
158
|
+
|
159
|
+
it "should do complex shit" do
|
160
|
+
html = <<-HTML
|
161
|
+
<form method="post" action="/invoices/10/approve" class="button-to">
|
162
|
+
<div>
|
163
|
+
<input id="approve_invoice_10" type="submit" value="Approve" />
|
164
|
+
<input name="authenticity_token" type="hidden" value="WxKGVy3Y5zcvFEiFe66D/odoc3CicfMdAup4vzQfiZ0=" />
|
165
|
+
<span>Hello World<span>
|
166
|
+
</div>
|
167
|
+
</form>
|
168
|
+
<form method="post" action="/invoices/10/delegate" class="button-to">
|
169
|
+
<div>
|
170
|
+
<input id="delegate_invoice_10" type="submit" value="Delegate" />
|
171
|
+
<input name="authenticity_token" type="hidden" value="WxKGVy3Y5zcvFEiFe66D/odoc3CicfMdAup4vzQfiZ0=" />
|
172
|
+
<span>Hi There<span>
|
173
|
+
</div>
|
174
|
+
</form>
|
175
|
+
HTML
|
176
|
+
|
177
|
+
selectors = lambda do |form|
|
178
|
+
[
|
179
|
+
form.css('div input:nth-child(1)').first.attributes['value'],
|
180
|
+
form.css('span').first.text.gsub(/\302\240/, ' ')
|
181
|
+
]
|
182
|
+
end
|
183
|
+
|
184
|
+
_tableish(html, 'form', selectors).should == [
|
185
|
+
['Approve', "Hello World"],
|
186
|
+
['Delegate', 'Hi There']
|
187
|
+
]
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../../spec_helper")
|
2
|
+
|
3
|
+
# TODO using this seam as an interim way to get the file to load
|
4
|
+
module Config
|
5
|
+
CONFIG = {
|
6
|
+
'bindir' => 'foo',
|
7
|
+
'ruby_install_name' => 'bar'
|
8
|
+
}
|
9
|
+
end
|
10
|
+
require 'generators/cucumber/install/install_base'
|
11
|
+
|
12
|
+
module Cucumber
|
13
|
+
module Generators
|
14
|
+
describe InstallBase do
|
15
|
+
def instance_of_class_including(mixin)
|
16
|
+
Class.new do
|
17
|
+
include mixin
|
18
|
+
end.new
|
19
|
+
end
|
20
|
+
|
21
|
+
before(:each) do
|
22
|
+
Kernel.stub(:require => nil)
|
23
|
+
|
24
|
+
@generator = instance_of_class_including(Cucumber::Generators::InstallBase)
|
25
|
+
end
|
26
|
+
|
27
|
+
# This is a private method, but there was a bug in it where it
|
28
|
+
# defaulted to :testunit (the framework) when called to identify
|
29
|
+
# the driver
|
30
|
+
describe "#first_loadable" do
|
31
|
+
it "detects loadable libraries" do
|
32
|
+
Gem.should_receive(:available?).with('capybara').and_return(true)
|
33
|
+
@generator.send(:first_loadable, [['capybara', :capybara], ['webrat', :webrat ]]).should == :capybara
|
34
|
+
end
|
35
|
+
|
36
|
+
it "tries the given libraries in order" do
|
37
|
+
Gem.stub(:available?).with('capybara').and_return(false)
|
38
|
+
Gem.should_receive(:available?).with('webrat').and_return(true)
|
39
|
+
@generator.send(:first_loadable, [['capybara', :capybara], ['webrat', :webrat ]]).should == :webrat
|
40
|
+
end
|
41
|
+
|
42
|
+
it "returns nil if no libraries are available" do
|
43
|
+
Gem.stub(:available? => false)
|
44
|
+
@generator.send(:first_loadable, [['capybara', :capybara], ['webrat', :webrat ]]).should be_nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# This is a private method, but there may have been a bug in it where
|
49
|
+
# it defaulted to :testunit (the framework) when called to identify
|
50
|
+
# the driver
|
51
|
+
describe "#detect_in_env" do
|
52
|
+
describe "when env.rb doesn't exist" do
|
53
|
+
it "returns nil" do
|
54
|
+
File.should_receive(:file?).with("features/support/env.rb").and_return(false)
|
55
|
+
@generator.send(:detect_in_env, [['capybara', :capybara], ['webrat', :webrat]]).should be_nil
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "when env.rb exists" do
|
60
|
+
before(:each) do
|
61
|
+
File.stub(:file => true)
|
62
|
+
end
|
63
|
+
|
64
|
+
it "detects loadable libraries, choosing the first in the argument list" do
|
65
|
+
IO.should_receive(:read).with("features/support/env.rb").and_return("blah webrat capybara blah")
|
66
|
+
@generator.send(:detect_in_env, [['capybara', :capybara], ['webrat', :webrat]]).should == :capybara
|
67
|
+
end
|
68
|
+
|
69
|
+
it "tries the given libraries in order" do
|
70
|
+
IO.should_receive(:read).with("features/support/env.rb").and_return("blah webrat blah")
|
71
|
+
@generator.send(:detect_in_env, [['capybara', :capybara], ['webrat', :webrat]]).should == :webrat
|
72
|
+
end
|
73
|
+
|
74
|
+
it "returns nil if no libraries are available" do
|
75
|
+
IO.should_receive(:read).with("features/support/env.rb").and_return("blah blah")
|
76
|
+
@generator.send(:detect_in_env, [['capybara', :capybara], ['webrat', :webrat]]).should be_nil
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
Feature: Manage <%= plural_name %>
|
2
|
+
In order to [goal]
|
3
|
+
[stakeholder]
|
4
|
+
wants [behaviour]
|
5
|
+
|
6
|
+
Scenario: Register new <%= singular_name %>
|
7
|
+
Given I am on the new <%= singular_name %> page
|
8
|
+
<% keyword = 'When' -%>
|
9
|
+
<% named_args.each do |arg| -%>
|
10
|
+
<% if arg.type == 'boolean' -%>
|
11
|
+
<%= keyword %> I uncheck "<%= arg.name.humanize %>"
|
12
|
+
<% else -%>
|
13
|
+
<%= keyword %> I fill in "<%= arg.name.humanize %>" with "<%= arg.value(1) %>"
|
14
|
+
<% end -%>
|
15
|
+
<% keyword = 'And' -%>
|
16
|
+
<% end -%>
|
17
|
+
And I press "Create"
|
18
|
+
<% keyword = 'Then' -%>
|
19
|
+
<% named_args.each do |arg| -%>
|
20
|
+
<%= keyword %> I should see "<%= arg.value(1) %>"
|
21
|
+
<% keyword = 'And' -%>
|
22
|
+
<% end -%>
|
23
|
+
|
24
|
+
<% if IO.read('features/support/env.rb') =~ /capybara/n -%>
|
25
|
+
# Rails generates Delete links that use Javascript to pop up a confirmation
|
26
|
+
# dialog and then do a HTTP POST request (emulated DELETE request).
|
27
|
+
#
|
28
|
+
# Capybara must use Culerity/Celerity or Selenium2 (webdriver) when pages rely
|
29
|
+
# on Javascript events. Only Culerity/Celerity supports clicking on confirmation
|
30
|
+
# dialogs.
|
31
|
+
#
|
32
|
+
# Since Culerity/Celerity and Selenium2 has some overhead, Cucumber-Rails will
|
33
|
+
# detect the presence of Javascript behind Delete links and issue a DELETE request
|
34
|
+
# instead of a GET request.
|
35
|
+
#
|
36
|
+
# You can turn this emulation off by tagging your scenario with @no-js-emulation.
|
37
|
+
# Turning on browser testing with @selenium, @culerity, @celerity or @javascript
|
38
|
+
# will also turn off the emulation. (See the Capybara documentation for
|
39
|
+
# details about those tags). If any of the browser tags are present, Cucumber-Rails
|
40
|
+
# will also turn off transactions and clean the database with DatabaseCleaner
|
41
|
+
# after the scenario has finished. This is to prevent data from leaking into
|
42
|
+
# the next scenario.
|
43
|
+
#
|
44
|
+
# Another way to avoid Cucumber-Rails' javascript emulation without using any
|
45
|
+
# of the tags above is to modify your views to use <button> instead. You can
|
46
|
+
# see how in http://github.com/jnicklas/capybara/issues#issue/12
|
47
|
+
#
|
48
|
+
<% if options[:capybara] -%>
|
49
|
+
@<%= options[:capybara] %>
|
50
|
+
<% end -%>
|
51
|
+
<% end -%>
|
52
|
+
Scenario: Delete <%= singular_name %>
|
53
|
+
Given the following <%= plural_name %>:
|
54
|
+
|<%= named_args.map(&:name).join('|') %>|
|
55
|
+
<% (1..4).each do |n| -%>
|
56
|
+
|<%= named_args.map{|arg| arg.value(n)}.join('|') %>|
|
57
|
+
<% end -%>
|
58
|
+
When I delete the 3rd <%= singular_name %>
|
59
|
+
Then I should see the following <%= plural_name %>:
|
60
|
+
|<%= named_args.map{|arg| arg.name.humanize}.join('|') %>|
|
61
|
+
<% [1,2,4].each do |n| -%>
|
62
|
+
|<%= named_args.map{|arg| arg.value(n)}.join('|') %>|
|
63
|
+
<% end -%>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Given /^the following <%= plural_name %>:$/ do |<%= plural_name %>|
|
2
|
+
<%= class_name %>.create!(<%= plural_name %>.hashes)
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I delete the (\d+)(?:st|nd|rd|th) <%= singular_name %>$/ do |pos|
|
6
|
+
visit <%= plural_name %>_path
|
7
|
+
within("table tr:nth-child(#{pos.to_i+1})") do
|
8
|
+
click_link "Destroy"
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
Then /^I should see the following <%= plural_name %>:$/ do |expected_<%= plural_name %>_table|
|
13
|
+
expected_<%= plural_name %>_table.diff!(tableish('table tr', 'td,th'))
|
14
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%%
|
2
|
+
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
3
|
+
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
4
|
+
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} --strict --tags ~@wip"
|
5
|
+
%>
|
6
|
+
default: <%= spork? ? '--drb ' : '' %><%%= std_opts %> features
|
7
|
+
wip: <%= spork? ? '--drb ' : '' %>--tags @wip:3 --wip features
|
8
|
+
rerun: <%= spork? ? '--drb ' : '' %><%%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Edit at your own peril - it's recommended to regenerate this file
|
2
|
+
# in the future when you upgrade to a newer version of Cucumber.
|
3
|
+
|
4
|
+
# IMPORTANT: Setting config.cache_classes to false is known to
|
5
|
+
# break Cucumber's use_transactional_fixtures method.
|
6
|
+
# For more information see https://rspec.lighthouseapp.com/projects/16211/tickets/165
|
7
|
+
config.cache_classes = true
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.action_controller.consider_all_requests_local = true
|
14
|
+
config.action_controller.perform_caching = false
|
15
|
+
|
16
|
+
# Disable request forgery protection in test environment
|
17
|
+
config.action_controller.allow_forgery_protection = false
|
18
|
+
|
19
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
20
|
+
# The :test delivery method accumulates sent emails in the
|
21
|
+
# ActionMailer::Base.deliveries array.
|
22
|
+
config.action_mailer.delivery_method = :test
|
23
|
+
|
24
|
+
config.gem 'cucumber-rails', :lib => false, :version => '>=<%= version %>' unless File.directory?(File.join(Rails.root, 'vendor/plugins/cucumber-rails'))
|
25
|
+
config.gem 'database_cleaner', :lib => false, :version => '>=0.5.0' unless File.directory?(File.join(Rails.root, 'vendor/plugins/database_cleaner'))
|
26
|
+
<% if driver == :capybara -%>
|
27
|
+
config.gem 'capybara', :lib => false, :version => '>=0.3.5' unless File.directory?(File.join(Rails.root, 'vendor/plugins/capybara'))
|
28
|
+
<% else -%>
|
29
|
+
config.gem 'webrat', :lib => false, :version => '>=0.7.0' unless File.directory?(File.join(Rails.root, 'vendor/plugins/webrat'))
|
30
|
+
<% end -%>
|
31
|
+
<% if framework == :rspec -%>
|
32
|
+
config.gem 'rspec', :lib => false, :version => '>=1.3.0' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec'))
|
33
|
+
config.gem 'rspec-rails', :lib => false, :version => '>=1.3.2' unless File.directory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
|
34
|
+
<% end %>
|
35
|
+
<% if spork? -%>
|
36
|
+
config.gem 'spork', :lib => false, :version => '>=0.7.5' unless File.directory?(File.join(Rails.root, 'vendor/plugins/spork'))
|
37
|
+
<% end %>
|