rspec-rails 2.99.0 → 3.0.0.beta1
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 +8 -8
- checksums.yaml.gz.sig +2 -0
- data.tar.gz.sig +0 -0
- data/Changelog.md +40 -68
- data/License.txt +1 -0
- data/README.md +6 -4
- data/features/Generators.md +24 -0
- data/features/GettingStarted.md +84 -0
- data/features/README.md +56 -0
- data/features/RailsVersions.md +4 -0
- data/features/Transactions.md +84 -0
- data/features/Upgrade.md +121 -0
- data/features/controller_specs/Cookies.md +57 -0
- data/features/controller_specs/README.md +45 -0
- data/features/controller_specs/anonymous_controller.feature +378 -0
- data/features/controller_specs/bypass_rescue.feature +75 -0
- data/features/controller_specs/controller_spec.feature +58 -0
- data/features/controller_specs/engine_routes.feature +51 -0
- data/features/controller_specs/isolation_from_views.feature +87 -0
- data/features/controller_specs/render_views.feature +114 -0
- data/features/directory_structure.feature +71 -0
- data/features/feature_specs/feature_spec.feature +35 -0
- data/features/helper_specs/helper_spec.feature +122 -0
- data/features/mailer_specs/url_helpers.feature +38 -0
- data/features/matchers/README.md +18 -0
- data/features/matchers/new_record_matcher.feature +41 -0
- data/features/matchers/redirect_to_matcher.feature +40 -0
- data/features/matchers/relation_match_array.feature +27 -0
- data/features/matchers/render_template_matcher.feature +49 -0
- data/features/mocks/mock_model.feature +147 -0
- data/features/mocks/stub_model.feature +58 -0
- data/features/model_specs/README.md +21 -0
- data/features/model_specs/errors_on.feature +51 -0
- data/features/model_specs/records.feature +27 -0
- data/features/model_specs/transactional_examples.feature +109 -0
- data/features/request_specs/request_spec.feature +49 -0
- data/features/routing_specs/README.md +16 -0
- data/features/routing_specs/be_routable_matcher.feature +80 -0
- data/features/routing_specs/engine_routes.feature +38 -0
- data/features/routing_specs/named_routes.feature +18 -0
- data/features/routing_specs/route_to_matcher.feature +90 -0
- data/features/step_definitions/additional_cli_steps.rb +4 -0
- data/features/step_definitions/model_steps.rb +3 -0
- data/features/support/capybara.rb +7 -0
- data/features/support/env.rb +53 -0
- data/features/support/rails_versions.rb +4 -0
- data/features/support/rubinius.rb +6 -0
- data/features/view_specs/inferred_controller_path.feature +45 -0
- data/features/view_specs/stub_template.feature +51 -0
- data/features/view_specs/view_spec.feature +206 -0
- data/lib/generators/rspec/controller/templates/controller_spec.rb +1 -1
- data/lib/generators/rspec/install/templates/spec/spec_helper.rb.tt +2 -21
- data/lib/generators/rspec/integration/integration_generator.rb +2 -3
- data/lib/generators/rspec/integration/templates/request_spec.rb +1 -1
- data/lib/generators/rspec/mailer/templates/mailer_spec.rb +4 -4
- data/lib/generators/rspec/scaffold/scaffold_generator.rb +2 -3
- data/lib/generators/rspec/scaffold/templates/controller_spec.rb +16 -16
- data/lib/generators/rspec/scaffold/templates/edit_spec.rb +2 -2
- data/lib/generators/rspec/scaffold/templates/index_spec.rb +1 -1
- data/lib/generators/rspec/scaffold/templates/new_spec.rb +2 -2
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +7 -7
- data/lib/generators/rspec/scaffold/templates/show_spec.rb +2 -2
- data/lib/rspec/rails.rb +0 -5
- data/lib/rspec/rails/adapters.rb +5 -12
- data/lib/rspec/rails/example.rb +55 -24
- data/lib/rspec/rails/example/controller_example_group.rb +7 -31
- data/lib/rspec/rails/example/view_example_group.rb +0 -3
- data/lib/rspec/rails/matchers.rb +1 -2
- data/lib/rspec/rails/matchers/be_a_new.rb +1 -1
- data/lib/rspec/rails/matchers/be_new_record.rb +1 -1
- data/lib/rspec/rails/matchers/be_valid.rb +1 -1
- data/lib/rspec/rails/matchers/have_rendered.rb +1 -1
- data/lib/rspec/rails/matchers/redirect_to.rb +1 -1
- data/lib/rspec/rails/matchers/relation_match_array.rb +1 -1
- data/lib/rspec/rails/matchers/routing_matchers.rb +6 -10
- data/lib/rspec/rails/mocks.rb +5 -41
- data/lib/rspec/rails/tasks/rspec.rake +5 -12
- data/lib/rspec/rails/vendor/capybara.rb +4 -35
- data/lib/rspec/rails/version.rb +1 -1
- data/spec/generators/rspec/controller/controller_generator_spec.rb +97 -0
- data/spec/generators/rspec/helper/helper_generator_spec.rb +30 -0
- data/spec/generators/rspec/install/install_generator_spec.rb +30 -0
- data/spec/generators/rspec/integration/integration_generator_spec.rb +44 -0
- data/spec/generators/rspec/mailer/mailer_generator_spec.rb +48 -0
- data/spec/generators/rspec/model/model_generator_spec.rb +52 -0
- data/spec/generators/rspec/observer/observer_generator_spec.rb +21 -0
- data/spec/generators/rspec/scaffold/scaffold_generator_spec.rb +138 -0
- data/spec/generators/rspec/view/view_generator_spec.rb +41 -0
- data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
- data/spec/rspec/rails/assertion_delegator_spec.rb +43 -0
- data/spec/rspec/rails/configuration_spec.rb +26 -0
- data/spec/rspec/rails/deprecations_spec.rb +18 -0
- data/spec/rspec/rails/example/controller_example_group_spec.rb +100 -0
- data/spec/rspec/rails/example/feature_example_group_spec.rb +56 -0
- data/spec/rspec/rails/example/helper_example_group_spec.rb +66 -0
- data/spec/rspec/rails/example/mailer_example_group_spec.rb +21 -0
- data/spec/rspec/rails/example/model_example_group_spec.rb +15 -0
- data/spec/rspec/rails/example/request_example_group_spec.rb +17 -0
- data/spec/rspec/rails/example/routing_example_group_spec.rb +32 -0
- data/spec/rspec/rails/example/view_example_group_spec.rb +220 -0
- data/spec/rspec/rails/extensions/active_model/errors_on_spec.rb +23 -0
- data/spec/rspec/rails/extensions/active_record/base_spec.rb +42 -0
- data/spec/rspec/rails/fixture_support_spec.rb +17 -0
- data/spec/rspec/rails/matchers/be_a_new_spec.rb +142 -0
- data/spec/rspec/rails/matchers/be_new_record_spec.rb +33 -0
- data/spec/rspec/rails/matchers/be_routable_spec.rb +41 -0
- data/spec/rspec/rails/matchers/be_valid_spec.rb +44 -0
- data/spec/rspec/rails/matchers/has_spec.rb +29 -0
- data/spec/rspec/rails/matchers/have_rendered_spec.rb +93 -0
- data/spec/rspec/rails/matchers/redirect_to_spec.rb +80 -0
- data/spec/rspec/rails/matchers/relation_match_array_spec.rb +31 -0
- data/spec/rspec/rails/matchers/route_to_spec.rb +151 -0
- data/spec/rspec/rails/minitest_lifecycle_adapter_spec.rb +22 -0
- data/spec/rspec/rails/mocks/mock_model_spec.rb +378 -0
- data/spec/rspec/rails/mocks/stub_model_spec.rb +154 -0
- data/spec/rspec/rails/setup_and_teardown_adapter_spec.rb +32 -0
- data/spec/rspec/rails/view_rendering_spec.rb +111 -0
- data/spec/spec_helper.rb +35 -0
- data/spec/support/ar_classes.rb +42 -0
- data/spec/support/helpers.rb +20 -0
- data/spec/support/matchers.rb +9 -0
- data/spec/support/null_object.rb +6 -0
- metadata +229 -42
- metadata.gz.sig +0 -0
- data/lib/autotest/rails_rspec2.rb +0 -91
- data/lib/rspec/rails/infer_type_configuration.rb +0 -26
- data/lib/rspec/rails/matchers/have_extension.rb +0 -36
- data/lib/rspec/rails/module_inclusion.rb +0 -19
@@ -0,0 +1,154 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "stub_model" do
|
4
|
+
|
5
|
+
shared_examples_for "stub model" do
|
6
|
+
describe "with a block" do
|
7
|
+
it "yields the model" do
|
8
|
+
model = stub_model(model_class) do |block_arg|
|
9
|
+
@block_arg = block_arg
|
10
|
+
end
|
11
|
+
model.should be(@block_arg)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe "#persisted?" do
|
16
|
+
context "default" do
|
17
|
+
it "returns true" do
|
18
|
+
model = stub_model(model_class)
|
19
|
+
model.should be_persisted
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "with as_new_record" do
|
24
|
+
it "returns false" do
|
25
|
+
model = stub_model(model_class).as_new_record
|
26
|
+
model.should_not be_persisted
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "increments the value returned by to_param" do
|
32
|
+
first = stub_model(model_class)
|
33
|
+
second = stub_model(model_class)
|
34
|
+
second.to_param.to_i.should == (first.to_param.to_i + 1)
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#blank?" do
|
38
|
+
it "is false" do
|
39
|
+
stub_model(model_class).should_not be_blank
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context "with ActiveModel (not ActiveRecord)" do
|
45
|
+
it_behaves_like "stub model" do
|
46
|
+
def model_class
|
47
|
+
NonActiveRecordModel
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context "with an ActiveRecord model" do
|
53
|
+
let(:model_class) { MockableModel }
|
54
|
+
|
55
|
+
it_behaves_like "stub model"
|
56
|
+
|
57
|
+
describe "#new_record?" do
|
58
|
+
context "default" do
|
59
|
+
it "returns false" do
|
60
|
+
model = stub_model(model_class)
|
61
|
+
model.new_record?.should be_falsey
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "with as_new_record" do
|
66
|
+
it "returns true" do
|
67
|
+
model = stub_model(model_class).as_new_record
|
68
|
+
model.new_record?.should be_truthy
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
describe "defaults" do
|
74
|
+
it "has an id" do
|
75
|
+
stub_model(MockableModel).id.should be > 0
|
76
|
+
end
|
77
|
+
|
78
|
+
it "says it is not a new record" do
|
79
|
+
stub_model(MockableModel).should_not be_new_record
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe "#as_new_record" do
|
84
|
+
it "has a nil id" do
|
85
|
+
stub_model(MockableModel).as_new_record.id.should be(nil)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
it "raises when hitting the db" do
|
90
|
+
lambda do
|
91
|
+
stub_model(MockableModel).connection
|
92
|
+
end.should raise_error(RSpec::Rails::IllegalDataAccessException, /stubbed models are not allowed to access the database/)
|
93
|
+
end
|
94
|
+
|
95
|
+
it "increments the id" do
|
96
|
+
first = stub_model(model_class)
|
97
|
+
second = stub_model(model_class)
|
98
|
+
second.id.should == (first.id + 1)
|
99
|
+
end
|
100
|
+
|
101
|
+
it "accepts a stub id" do
|
102
|
+
stub_model(MockableModel, :id => 37).id.should == 37
|
103
|
+
end
|
104
|
+
|
105
|
+
it "says it is a new record when id is set to nil" do
|
106
|
+
stub_model(MockableModel, :id => nil).should be_new_record
|
107
|
+
end
|
108
|
+
|
109
|
+
it "accepts a stub for save" do
|
110
|
+
stub_model(MockableModel, :save => false).save.should be(false)
|
111
|
+
end
|
112
|
+
|
113
|
+
describe "alternate primary key" do
|
114
|
+
it "has the correct primary_key name" do
|
115
|
+
stub_model(AlternatePrimaryKeyModel).class.primary_key.to_s.should eq('my_id')
|
116
|
+
end
|
117
|
+
|
118
|
+
it "has a primary_key" do
|
119
|
+
stub_model(AlternatePrimaryKeyModel).my_id.should be > 0
|
120
|
+
end
|
121
|
+
|
122
|
+
it "says it is not a new record" do
|
123
|
+
stub_model(AlternatePrimaryKeyModel) do |m|
|
124
|
+
m.should_not be_new_record
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
it "says it is a new record if primary_key is nil" do
|
129
|
+
stub_model(AlternatePrimaryKeyModel, :my_id => nil).should be_new_record
|
130
|
+
end
|
131
|
+
|
132
|
+
it "accepts a stub for the primary_key" do
|
133
|
+
stub_model(AlternatePrimaryKeyModel, :my_id => 5).my_id.should == 5
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
describe "as association" do
|
138
|
+
before(:each) do
|
139
|
+
@real = AssociatedModel.create!
|
140
|
+
@stub_model = stub_model(MockableModel)
|
141
|
+
@real.mockable_model = @stub_model
|
142
|
+
end
|
143
|
+
|
144
|
+
it "passes associated_model == mock" do
|
145
|
+
@stub_model.should == @real.mockable_model
|
146
|
+
end
|
147
|
+
|
148
|
+
it "passes mock == associated_model" do
|
149
|
+
@real.mockable_model.should == @stub_model
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
end
|
154
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe RSpec::Rails::SetupAndTeardownAdapter do
|
4
|
+
describe "::setup" do
|
5
|
+
it "registers before hooks in the order setup is received" do
|
6
|
+
klass = Class.new do
|
7
|
+
include RSpec::Rails::SetupAndTeardownAdapter
|
8
|
+
def self.foo; "foo"; end
|
9
|
+
def self.bar; "bar"; end
|
10
|
+
end
|
11
|
+
klass.should_receive(:before).ordered { |&block| block.call.should eq "foo" }
|
12
|
+
klass.should_receive(:before).ordered { |&block| block.call.should eq "bar" }
|
13
|
+
|
14
|
+
klass.setup :foo
|
15
|
+
klass.setup :bar
|
16
|
+
end
|
17
|
+
|
18
|
+
it "registers prepend_before hooks for the Rails' setup methods" do
|
19
|
+
klass = Class.new do
|
20
|
+
include RSpec::Rails::SetupAndTeardownAdapter
|
21
|
+
def self.setup_fixtures; "setup fixtures" end
|
22
|
+
def self.setup_controller_request_and_response; "setup controller" end
|
23
|
+
end
|
24
|
+
|
25
|
+
klass.should_receive(:prepend_before) { |&block| block.call.should eq "setup fixtures" }
|
26
|
+
klass.should_receive(:prepend_before) { |&block| block.call.should eq "setup controller" }
|
27
|
+
|
28
|
+
klass.setup :setup_fixtures
|
29
|
+
klass.setup :setup_controller_request_and_response
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module RSpec::Rails
|
4
|
+
describe ViewRendering do
|
5
|
+
let(:group) do
|
6
|
+
RSpec::Core::ExampleGroup.describe do
|
7
|
+
def controller
|
8
|
+
ActionController::Base.new
|
9
|
+
end
|
10
|
+
include ViewRendering
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context "default" do
|
15
|
+
context "ActionController::Base" do
|
16
|
+
it "does not render views" do
|
17
|
+
group.new.render_views?.should be_falsey
|
18
|
+
end
|
19
|
+
|
20
|
+
it "does not render views in a nested group" do
|
21
|
+
group.describe{}.new.render_views?.should be_falsey
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "ActionController::Metal" do
|
26
|
+
it "renders views" do
|
27
|
+
group.new.tap do |example|
|
28
|
+
def example.controller
|
29
|
+
ActionController::Metal.new
|
30
|
+
end
|
31
|
+
example.render_views?.should be_truthy
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#render_views" do
|
38
|
+
context "with no args" do
|
39
|
+
it "tells examples to render views" do
|
40
|
+
group.render_views
|
41
|
+
group.new.render_views?.should be_truthy
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "with true" do
|
46
|
+
it "tells examples to render views" do
|
47
|
+
group.render_views true
|
48
|
+
group.new.render_views?.should be_truthy
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context "with false" do
|
53
|
+
it "tells examples not to render views" do
|
54
|
+
group.render_views false
|
55
|
+
group.new.render_views?.should be_falsey
|
56
|
+
end
|
57
|
+
|
58
|
+
it "overrides the global config if render_views is enabled there" do
|
59
|
+
RSpec.configuration.stub(:render_views?).and_return true
|
60
|
+
group.render_views false
|
61
|
+
group.new.render_views?.should be_falsey
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "in a nested group" do
|
66
|
+
let(:nested_group) do
|
67
|
+
group.describe{}
|
68
|
+
end
|
69
|
+
|
70
|
+
context "with no args" do
|
71
|
+
it "tells examples to render views" do
|
72
|
+
nested_group.render_views
|
73
|
+
nested_group.new.render_views?.should be_truthy
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
context "with true" do
|
78
|
+
it "tells examples to render views" do
|
79
|
+
nested_group.render_views true
|
80
|
+
nested_group.new.render_views?.should be_truthy
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context "with false" do
|
85
|
+
it "tells examples not to render views" do
|
86
|
+
nested_group.render_views false
|
87
|
+
nested_group.new.render_views?.should be_falsey
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
it "leaves the parent group as/is" do
|
92
|
+
group.render_views
|
93
|
+
nested_group.render_views false
|
94
|
+
group.new.render_views?.should be_truthy
|
95
|
+
end
|
96
|
+
|
97
|
+
it "overrides the value inherited from the parent group" do
|
98
|
+
group.render_views
|
99
|
+
nested_group.render_views false
|
100
|
+
nested_group.new.render_views?.should be_falsey
|
101
|
+
end
|
102
|
+
|
103
|
+
it "passes override to children" do
|
104
|
+
group.render_views
|
105
|
+
nested_group.render_views false
|
106
|
+
nested_group.describe{}.new.render_views?.should be_falsey
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'rspec/collection_matchers'
|
2
|
+
require 'rails/all'
|
3
|
+
|
4
|
+
module RSpecRails
|
5
|
+
class Application < ::Rails::Application
|
6
|
+
self.config.secret_key_base = 'ASecretString' if config.respond_to? :secret_key_base
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
require 'rspec/rails'
|
11
|
+
require 'ammeter/init'
|
12
|
+
|
13
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
14
|
+
|
15
|
+
class RSpec::Core::ExampleGroup
|
16
|
+
def self.run_all(reporter=nil)
|
17
|
+
run(reporter || RSpec::Mocks::Mock.new('reporter').as_null_object)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
RSpec.configure do |config|
|
22
|
+
real_world = nil
|
23
|
+
|
24
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
25
|
+
config.filter_run :focus
|
26
|
+
config.run_all_when_everything_filtered = true
|
27
|
+
config.before(:each) do
|
28
|
+
real_world = RSpec.world
|
29
|
+
RSpec.instance_variable_set(:@world, RSpec::Core::World.new)
|
30
|
+
end
|
31
|
+
config.after(:each) do
|
32
|
+
RSpec.instance_variable_set(:@world, real_world)
|
33
|
+
end
|
34
|
+
config.order = :random
|
35
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
ActiveRecord::Base.establish_connection(
|
2
|
+
:adapter => 'sqlite3',
|
3
|
+
:database => ':memory:'
|
4
|
+
)
|
5
|
+
|
6
|
+
module Connections
|
7
|
+
def self.extended(host)
|
8
|
+
host.connection.execute <<-eosql
|
9
|
+
CREATE TABLE #{host.table_name} (
|
10
|
+
#{host.primary_key} integer PRIMARY KEY AUTOINCREMENT,
|
11
|
+
associated_model_id integer,
|
12
|
+
mockable_model_id integer,
|
13
|
+
nonexistent_model_id integer
|
14
|
+
)
|
15
|
+
eosql
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class NonActiveRecordModel
|
20
|
+
extend ActiveModel::Naming
|
21
|
+
include ActiveModel::Conversion
|
22
|
+
end
|
23
|
+
|
24
|
+
class MockableModel < ActiveRecord::Base
|
25
|
+
extend Connections
|
26
|
+
has_one :associated_model
|
27
|
+
end
|
28
|
+
|
29
|
+
class SubMockableModel < MockableModel
|
30
|
+
end
|
31
|
+
|
32
|
+
class AssociatedModel < ActiveRecord::Base
|
33
|
+
extend Connections
|
34
|
+
belongs_to :mockable_model
|
35
|
+
belongs_to :nonexistent_model, :class_name => "Other"
|
36
|
+
end
|
37
|
+
|
38
|
+
class AlternatePrimaryKeyModel < ActiveRecord::Base
|
39
|
+
self.primary_key = :my_id
|
40
|
+
extend Connections
|
41
|
+
attr_accessor :my_id
|
42
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Helpers
|
2
|
+
def stub_metadata(additional_metadata)
|
3
|
+
stub_metadata = metadata_with(additional_metadata)
|
4
|
+
RSpec::Core::ExampleGroup.stub(:metadata) { stub_metadata }
|
5
|
+
end
|
6
|
+
|
7
|
+
def metadata_with(additional_metadata)
|
8
|
+
m = RSpec::Core::Metadata.new
|
9
|
+
m.process("example group")
|
10
|
+
|
11
|
+
group_metadata = additional_metadata.delete(:example_group)
|
12
|
+
if group_metadata
|
13
|
+
m[:example_group].merge!(group_metadata)
|
14
|
+
end
|
15
|
+
m.merge!(additional_metadata)
|
16
|
+
m
|
17
|
+
end
|
18
|
+
|
19
|
+
RSpec.configure {|c| c.include self}
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Chelimsky
|
8
|
+
- Andy Lindeman
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqakNDQW5hZ0F3SUJB
|
14
|
+
Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJHTVJJd0VBWURWUVFEREFseWMz
|
15
|
+
QmwKWXkxa1pYWXhHekFaQmdvSmtpYUprL0lzWkFFWkZndG5iMjluYkdWbmIz
|
16
|
+
VndjekVUTUJFR0NnbVNKb21UOGl4awpBUmtXQTJOdmJUQWVGdzB4TXpFeE1E
|
17
|
+
Y3hPVFF5TlRsYUZ3MHhOREV4TURjeE9UUXlOVGxhTUVZeEVqQVFCZ05WCkJB
|
18
|
+
TU1DWEp6Y0dWakxXUmxkakViTUJrR0NnbVNKb21UOGl4a0FSa1dDMmR2YjJk
|
19
|
+
c1pXZHZkWEJ6TVJNd0VRWUsKQ1pJbWlaUHlMR1FCR1JZRFkyOXRNSUlCSWpB
|
20
|
+
TkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQpuaENlWm91
|
21
|
+
RExYV081NW5vK0VkWk5DdGpYamZKUTFYOVRiUGN2QkREMjlPeXBJVWNlMmgv
|
22
|
+
VmRLWEIyZ0k3WkhzCkY1TmtQZ2dzbFRFckdGbVdBdElpdXI3dTk0M1JWcUhP
|
23
|
+
c3lvSXN5MDY1RjlmQ3RyeWtrQSsyMmVsdlREaGE0SXoKUlVDdnVoUTNrbGF0
|
24
|
+
WWs0akYrY0d0MWpOT05OVmRMT2l5MGJNeW52Y003aG9WUTJBb213R3MrY0VP
|
25
|
+
V1EvNGRrRApKY05WM3FmekY1UUJjVEQyMzcyWE5NNTNiMjVuWVZRU1gyS0g1
|
26
|
+
RkY3QmhsS3lvdjMzYk9tMmdBOU0rbVdJdWpXCnFna3l4VmxmcmxFK1pCZ1Yz
|
27
|
+
d1huMUNvamcxTHBUcTM1eU9Bcmd3aW95cnd3bFpaSlI5am9OOXMvbkRrbGZy
|
28
|
+
NUEKK2R5RVRqRmM2Y21FUFdacnQyY0pCUUlEQVFBQm80R0dNSUdETUFrR0Ex
|
29
|
+
VWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1N3TUIwR0ExVWREZ1FXQkJTVytX
|
30
|
+
RDdobjFzd0oxQTdpOHRidUZldU5DSkNqQWtCZ05WSFJFRUhUQWJnUmx5CmMz
|
31
|
+
QmxZeTFrWlhaQVoyOXZaMnhsWjI5MWNITXVZMjl0TUNRR0ExVWRFZ1FkTUJ1
|
32
|
+
QkdYSnpjR1ZqTFdSbGRrQm4KYjI5bmJHVm5iM1Z3Y3k1amIyMHdEUVlKS29a
|
33
|
+
SWh2Y05BUUVGQlFBRGdnRUJBSDI3akFaOHNEN3ZuWHVwajZZKwpCYUJkZkh0
|
34
|
+
Q2tGYXNsTEowYUt1TURJVlh3WXVLZnFvVzE1Y1pQRExtU0lFQnVRRk0zbHc2
|
35
|
+
ZC9oRUVMNFVvMmpaCkZ2dG1INU94aWZQRHpGeVV0Q0w0eXA2cWdOZS9YZjZz
|
36
|
+
RHNSZzZGbUtjcGdxQ3dOT21zVmlhZjBMUFNVSC9HWVEKM1Rlb3o4UUNhRGJE
|
37
|
+
N0FLc2ZmVDdlRHJuYkhuS3dlTzFYZGVtUkpDOTh1L3lZeG5Hek1TV0tFc24w
|
38
|
+
OWV0QmxaOQo3SDY3azVaM3VmNmNmTFpnVG9XTDZ6U2h6WlkzTnVuNXI3M1lz
|
39
|
+
TmYyL1FaT2U0VVplNHZmR3ZuNmJhdzUzeXM5CjF5SEMxQWNTWXB2aTJkQWJP
|
40
|
+
aUhUNWlRRitrcm00d3NlOEtjdFhnVE5uak1zSEVvR0t1bEpTMi9zWmw5MGpj
|
41
|
+
Q3oKbXVBPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
42
|
+
date: 2013-11-08 00:00:00.000000000 Z
|
12
43
|
dependencies:
|
13
44
|
- !ruby/object:Gem::Dependency
|
14
45
|
name: activesupport
|
@@ -70,44 +101,44 @@ dependencies:
|
|
70
101
|
name: rspec-core
|
71
102
|
requirement: !ruby/object:Gem::Requirement
|
72
103
|
requirements:
|
73
|
-
- -
|
104
|
+
- - '='
|
74
105
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
106
|
+
version: 3.0.0.beta1
|
76
107
|
type: :runtime
|
77
108
|
prerelease: false
|
78
109
|
version_requirements: !ruby/object:Gem::Requirement
|
79
110
|
requirements:
|
80
|
-
- -
|
111
|
+
- - '='
|
81
112
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
113
|
+
version: 3.0.0.beta1
|
83
114
|
- !ruby/object:Gem::Dependency
|
84
115
|
name: rspec-expectations
|
85
116
|
requirement: !ruby/object:Gem::Requirement
|
86
117
|
requirements:
|
87
|
-
- -
|
118
|
+
- - '='
|
88
119
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
120
|
+
version: 3.0.0.beta1
|
90
121
|
type: :runtime
|
91
122
|
prerelease: false
|
92
123
|
version_requirements: !ruby/object:Gem::Requirement
|
93
124
|
requirements:
|
94
|
-
- -
|
125
|
+
- - '='
|
95
126
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
127
|
+
version: 3.0.0.beta1
|
97
128
|
- !ruby/object:Gem::Dependency
|
98
129
|
name: rspec-mocks
|
99
130
|
requirement: !ruby/object:Gem::Requirement
|
100
131
|
requirements:
|
101
|
-
- -
|
132
|
+
- - '='
|
102
133
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
134
|
+
version: 3.0.0.beta1
|
104
135
|
type: :runtime
|
105
136
|
prerelease: false
|
106
137
|
version_requirements: !ruby/object:Gem::Requirement
|
107
138
|
requirements:
|
108
|
-
- -
|
139
|
+
- - '='
|
109
140
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
141
|
+
version: 3.0.0.beta1
|
111
142
|
- !ruby/object:Gem::Dependency
|
112
143
|
name: rspec-collection_matchers
|
113
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,16 +199,16 @@ dependencies:
|
|
168
199
|
name: ZenTest
|
169
200
|
requirement: !ruby/object:Gem::Requirement
|
170
201
|
requirements:
|
171
|
-
- -
|
202
|
+
- - '='
|
172
203
|
- !ruby/object:Gem::Version
|
173
|
-
version: 4.9.
|
204
|
+
version: 4.9.4
|
174
205
|
type: :development
|
175
206
|
prerelease: false
|
176
207
|
version_requirements: !ruby/object:Gem::Requirement
|
177
208
|
requirements:
|
178
|
-
- -
|
209
|
+
- - '='
|
179
210
|
- !ruby/object:Gem::Version
|
180
|
-
version: 4.9.
|
211
|
+
version: 4.9.4
|
181
212
|
- !ruby/object:Gem::Dependency
|
182
213
|
name: ammeter
|
183
214
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,27 +223,12 @@ dependencies:
|
|
192
223
|
- - '='
|
193
224
|
- !ruby/object:Gem::Version
|
194
225
|
version: 0.2.5
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: capybara
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - ! '>='
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 2.0.0
|
202
|
-
type: :development
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ! '>='
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 2.0.0
|
209
226
|
description: RSpec for Rails
|
210
|
-
email: rspec
|
227
|
+
email: rspec@googlegroups.com
|
211
228
|
executables: []
|
212
229
|
extensions: []
|
213
230
|
extra_rdoc_files: []
|
214
231
|
files:
|
215
|
-
- lib/autotest/rails_rspec2.rb
|
216
232
|
- lib/generators/rspec.rb
|
217
233
|
- lib/generators/rspec/controller/controller_generator.rb
|
218
234
|
- lib/generators/rspec/controller/templates/controller_spec.rb
|
@@ -258,18 +274,15 @@ files:
|
|
258
274
|
- lib/rspec/rails/extensions/active_record/base.rb
|
259
275
|
- lib/rspec/rails/extensions/active_record/proxy.rb
|
260
276
|
- lib/rspec/rails/fixture_support.rb
|
261
|
-
- lib/rspec/rails/infer_type_configuration.rb
|
262
277
|
- lib/rspec/rails/matchers.rb
|
263
278
|
- lib/rspec/rails/matchers/be_a_new.rb
|
264
279
|
- lib/rspec/rails/matchers/be_new_record.rb
|
265
280
|
- lib/rspec/rails/matchers/be_valid.rb
|
266
|
-
- lib/rspec/rails/matchers/have_extension.rb
|
267
281
|
- lib/rspec/rails/matchers/have_rendered.rb
|
268
282
|
- lib/rspec/rails/matchers/redirect_to.rb
|
269
283
|
- lib/rspec/rails/matchers/relation_match_array.rb
|
270
284
|
- lib/rspec/rails/matchers/routing_matchers.rb
|
271
285
|
- lib/rspec/rails/mocks.rb
|
272
|
-
- lib/rspec/rails/module_inclusion.rb
|
273
286
|
- lib/rspec/rails/tasks/rspec.rake
|
274
287
|
- lib/rspec/rails/vendor/capybara.rb
|
275
288
|
- lib/rspec/rails/vendor/webrat.rb
|
@@ -282,6 +295,93 @@ files:
|
|
282
295
|
- Capybara.md
|
283
296
|
- .yardopts
|
284
297
|
- .document
|
298
|
+
- features/Generators.md
|
299
|
+
- features/GettingStarted.md
|
300
|
+
- features/README.md
|
301
|
+
- features/RailsVersions.md
|
302
|
+
- features/Transactions.md
|
303
|
+
- features/Upgrade.md
|
304
|
+
- features/controller_specs/Cookies.md
|
305
|
+
- features/controller_specs/README.md
|
306
|
+
- features/controller_specs/anonymous_controller.feature
|
307
|
+
- features/controller_specs/bypass_rescue.feature
|
308
|
+
- features/controller_specs/controller_spec.feature
|
309
|
+
- features/controller_specs/engine_routes.feature
|
310
|
+
- features/controller_specs/isolation_from_views.feature
|
311
|
+
- features/controller_specs/render_views.feature
|
312
|
+
- features/directory_structure.feature
|
313
|
+
- features/feature_specs/feature_spec.feature
|
314
|
+
- features/helper_specs/helper_spec.feature
|
315
|
+
- features/mailer_specs/url_helpers.feature
|
316
|
+
- features/matchers/README.md
|
317
|
+
- features/matchers/new_record_matcher.feature
|
318
|
+
- features/matchers/redirect_to_matcher.feature
|
319
|
+
- features/matchers/relation_match_array.feature
|
320
|
+
- features/matchers/render_template_matcher.feature
|
321
|
+
- features/mocks/mock_model.feature
|
322
|
+
- features/mocks/stub_model.feature
|
323
|
+
- features/model_specs/README.md
|
324
|
+
- features/model_specs/errors_on.feature
|
325
|
+
- features/model_specs/records.feature
|
326
|
+
- features/model_specs/transactional_examples.feature
|
327
|
+
- features/request_specs/request_spec.feature
|
328
|
+
- features/routing_specs/README.md
|
329
|
+
- features/routing_specs/be_routable_matcher.feature
|
330
|
+
- features/routing_specs/engine_routes.feature
|
331
|
+
- features/routing_specs/named_routes.feature
|
332
|
+
- features/routing_specs/route_to_matcher.feature
|
333
|
+
- features/step_definitions/additional_cli_steps.rb
|
334
|
+
- features/step_definitions/model_steps.rb
|
335
|
+
- features/support/capybara.rb
|
336
|
+
- features/support/env.rb
|
337
|
+
- features/support/rails_versions.rb
|
338
|
+
- features/support/rubinius.rb
|
339
|
+
- features/view_specs/inferred_controller_path.feature
|
340
|
+
- features/view_specs/stub_template.feature
|
341
|
+
- features/view_specs/view_spec.feature
|
342
|
+
- spec/generators/rspec/controller/controller_generator_spec.rb
|
343
|
+
- spec/generators/rspec/helper/helper_generator_spec.rb
|
344
|
+
- spec/generators/rspec/install/install_generator_spec.rb
|
345
|
+
- spec/generators/rspec/integration/integration_generator_spec.rb
|
346
|
+
- spec/generators/rspec/mailer/mailer_generator_spec.rb
|
347
|
+
- spec/generators/rspec/model/model_generator_spec.rb
|
348
|
+
- spec/generators/rspec/observer/observer_generator_spec.rb
|
349
|
+
- spec/generators/rspec/scaffold/scaffold_generator_spec.rb
|
350
|
+
- spec/generators/rspec/view/view_generator_spec.rb
|
351
|
+
- spec/rspec/rails/assertion_adapter_spec.rb
|
352
|
+
- spec/rspec/rails/assertion_delegator_spec.rb
|
353
|
+
- spec/rspec/rails/configuration_spec.rb
|
354
|
+
- spec/rspec/rails/deprecations_spec.rb
|
355
|
+
- spec/rspec/rails/example/controller_example_group_spec.rb
|
356
|
+
- spec/rspec/rails/example/feature_example_group_spec.rb
|
357
|
+
- spec/rspec/rails/example/helper_example_group_spec.rb
|
358
|
+
- spec/rspec/rails/example/mailer_example_group_spec.rb
|
359
|
+
- spec/rspec/rails/example/model_example_group_spec.rb
|
360
|
+
- spec/rspec/rails/example/request_example_group_spec.rb
|
361
|
+
- spec/rspec/rails/example/routing_example_group_spec.rb
|
362
|
+
- spec/rspec/rails/example/view_example_group_spec.rb
|
363
|
+
- spec/rspec/rails/extensions/active_model/errors_on_spec.rb
|
364
|
+
- spec/rspec/rails/extensions/active_record/base_spec.rb
|
365
|
+
- spec/rspec/rails/fixture_support_spec.rb
|
366
|
+
- spec/rspec/rails/matchers/be_a_new_spec.rb
|
367
|
+
- spec/rspec/rails/matchers/be_new_record_spec.rb
|
368
|
+
- spec/rspec/rails/matchers/be_routable_spec.rb
|
369
|
+
- spec/rspec/rails/matchers/be_valid_spec.rb
|
370
|
+
- spec/rspec/rails/matchers/has_spec.rb
|
371
|
+
- spec/rspec/rails/matchers/have_rendered_spec.rb
|
372
|
+
- spec/rspec/rails/matchers/redirect_to_spec.rb
|
373
|
+
- spec/rspec/rails/matchers/relation_match_array_spec.rb
|
374
|
+
- spec/rspec/rails/matchers/route_to_spec.rb
|
375
|
+
- spec/rspec/rails/minitest_lifecycle_adapter_spec.rb
|
376
|
+
- spec/rspec/rails/mocks/mock_model_spec.rb
|
377
|
+
- spec/rspec/rails/mocks/stub_model_spec.rb
|
378
|
+
- spec/rspec/rails/setup_and_teardown_adapter_spec.rb
|
379
|
+
- spec/rspec/rails/view_rendering_spec.rb
|
380
|
+
- spec/spec_helper.rb
|
381
|
+
- spec/support/ar_classes.rb
|
382
|
+
- spec/support/helpers.rb
|
383
|
+
- spec/support/matchers.rb
|
384
|
+
- spec/support/null_object.rb
|
285
385
|
homepage: http://github.com/rspec/rspec-rails
|
286
386
|
licenses:
|
287
387
|
- MIT
|
@@ -298,14 +398,101 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
298
398
|
version: '0'
|
299
399
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
400
|
requirements:
|
301
|
-
- - ! '
|
401
|
+
- - ! '>'
|
302
402
|
- !ruby/object:Gem::Version
|
303
|
-
version:
|
403
|
+
version: 1.3.1
|
304
404
|
requirements: []
|
305
405
|
rubyforge_project: rspec
|
306
406
|
rubygems_version: 2.0.7
|
307
407
|
signing_key:
|
308
408
|
specification_version: 4
|
309
|
-
summary: rspec-rails-
|
310
|
-
test_files:
|
409
|
+
summary: rspec-rails-3.0.0.beta1
|
410
|
+
test_files:
|
411
|
+
- features/Generators.md
|
412
|
+
- features/GettingStarted.md
|
413
|
+
- features/README.md
|
414
|
+
- features/RailsVersions.md
|
415
|
+
- features/Transactions.md
|
416
|
+
- features/Upgrade.md
|
417
|
+
- features/controller_specs/Cookies.md
|
418
|
+
- features/controller_specs/README.md
|
419
|
+
- features/controller_specs/anonymous_controller.feature
|
420
|
+
- features/controller_specs/bypass_rescue.feature
|
421
|
+
- features/controller_specs/controller_spec.feature
|
422
|
+
- features/controller_specs/engine_routes.feature
|
423
|
+
- features/controller_specs/isolation_from_views.feature
|
424
|
+
- features/controller_specs/render_views.feature
|
425
|
+
- features/directory_structure.feature
|
426
|
+
- features/feature_specs/feature_spec.feature
|
427
|
+
- features/helper_specs/helper_spec.feature
|
428
|
+
- features/mailer_specs/url_helpers.feature
|
429
|
+
- features/matchers/README.md
|
430
|
+
- features/matchers/new_record_matcher.feature
|
431
|
+
- features/matchers/redirect_to_matcher.feature
|
432
|
+
- features/matchers/relation_match_array.feature
|
433
|
+
- features/matchers/render_template_matcher.feature
|
434
|
+
- features/mocks/mock_model.feature
|
435
|
+
- features/mocks/stub_model.feature
|
436
|
+
- features/model_specs/README.md
|
437
|
+
- features/model_specs/errors_on.feature
|
438
|
+
- features/model_specs/records.feature
|
439
|
+
- features/model_specs/transactional_examples.feature
|
440
|
+
- features/request_specs/request_spec.feature
|
441
|
+
- features/routing_specs/README.md
|
442
|
+
- features/routing_specs/be_routable_matcher.feature
|
443
|
+
- features/routing_specs/engine_routes.feature
|
444
|
+
- features/routing_specs/named_routes.feature
|
445
|
+
- features/routing_specs/route_to_matcher.feature
|
446
|
+
- features/step_definitions/additional_cli_steps.rb
|
447
|
+
- features/step_definitions/model_steps.rb
|
448
|
+
- features/support/capybara.rb
|
449
|
+
- features/support/env.rb
|
450
|
+
- features/support/rails_versions.rb
|
451
|
+
- features/support/rubinius.rb
|
452
|
+
- features/view_specs/inferred_controller_path.feature
|
453
|
+
- features/view_specs/stub_template.feature
|
454
|
+
- features/view_specs/view_spec.feature
|
455
|
+
- spec/generators/rspec/controller/controller_generator_spec.rb
|
456
|
+
- spec/generators/rspec/helper/helper_generator_spec.rb
|
457
|
+
- spec/generators/rspec/install/install_generator_spec.rb
|
458
|
+
- spec/generators/rspec/integration/integration_generator_spec.rb
|
459
|
+
- spec/generators/rspec/mailer/mailer_generator_spec.rb
|
460
|
+
- spec/generators/rspec/model/model_generator_spec.rb
|
461
|
+
- spec/generators/rspec/observer/observer_generator_spec.rb
|
462
|
+
- spec/generators/rspec/scaffold/scaffold_generator_spec.rb
|
463
|
+
- spec/generators/rspec/view/view_generator_spec.rb
|
464
|
+
- spec/rspec/rails/assertion_adapter_spec.rb
|
465
|
+
- spec/rspec/rails/assertion_delegator_spec.rb
|
466
|
+
- spec/rspec/rails/configuration_spec.rb
|
467
|
+
- spec/rspec/rails/deprecations_spec.rb
|
468
|
+
- spec/rspec/rails/example/controller_example_group_spec.rb
|
469
|
+
- spec/rspec/rails/example/feature_example_group_spec.rb
|
470
|
+
- spec/rspec/rails/example/helper_example_group_spec.rb
|
471
|
+
- spec/rspec/rails/example/mailer_example_group_spec.rb
|
472
|
+
- spec/rspec/rails/example/model_example_group_spec.rb
|
473
|
+
- spec/rspec/rails/example/request_example_group_spec.rb
|
474
|
+
- spec/rspec/rails/example/routing_example_group_spec.rb
|
475
|
+
- spec/rspec/rails/example/view_example_group_spec.rb
|
476
|
+
- spec/rspec/rails/extensions/active_model/errors_on_spec.rb
|
477
|
+
- spec/rspec/rails/extensions/active_record/base_spec.rb
|
478
|
+
- spec/rspec/rails/fixture_support_spec.rb
|
479
|
+
- spec/rspec/rails/matchers/be_a_new_spec.rb
|
480
|
+
- spec/rspec/rails/matchers/be_new_record_spec.rb
|
481
|
+
- spec/rspec/rails/matchers/be_routable_spec.rb
|
482
|
+
- spec/rspec/rails/matchers/be_valid_spec.rb
|
483
|
+
- spec/rspec/rails/matchers/has_spec.rb
|
484
|
+
- spec/rspec/rails/matchers/have_rendered_spec.rb
|
485
|
+
- spec/rspec/rails/matchers/redirect_to_spec.rb
|
486
|
+
- spec/rspec/rails/matchers/relation_match_array_spec.rb
|
487
|
+
- spec/rspec/rails/matchers/route_to_spec.rb
|
488
|
+
- spec/rspec/rails/minitest_lifecycle_adapter_spec.rb
|
489
|
+
- spec/rspec/rails/mocks/mock_model_spec.rb
|
490
|
+
- spec/rspec/rails/mocks/stub_model_spec.rb
|
491
|
+
- spec/rspec/rails/setup_and_teardown_adapter_spec.rb
|
492
|
+
- spec/rspec/rails/view_rendering_spec.rb
|
493
|
+
- spec/spec_helper.rb
|
494
|
+
- spec/support/ar_classes.rb
|
495
|
+
- spec/support/helpers.rb
|
496
|
+
- spec/support/matchers.rb
|
497
|
+
- spec/support/null_object.rb
|
311
498
|
has_rdoc:
|