rspec-rails 2.12.0 → 2.12.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.md +16 -1
- data/README.md +1 -2
- data/features/controller_specs/anonymous_controller.feature +55 -0
- data/features/request_specs/request_spec.feature +1 -1
- data/lib/rspec/rails/adapters.rb +34 -1
- data/lib/rspec/rails/example.rb +1 -1
- data/lib/rspec/rails/example/controller_example_group.rb +3 -0
- data/lib/rspec/rails/example/routing_example_group.rb +2 -1
- data/lib/rspec/rails/extensions/active_record/base.rb +24 -19
- data/lib/rspec/rails/extensions/active_record/proxy.rb +1 -1
- data/lib/rspec/rails/version.rb +1 -1
- data/spec/rspec/rails/assertion_delegator_spec.rb +30 -0
- data/spec/rspec/rails/extensions/active_record/base_spec.rb +42 -0
- metadata +190 -177
data/Changelog.md
CHANGED
@@ -1,5 +1,20 @@
|
|
1
|
+
### 2.12.1 / 2013-01-07
|
2
|
+
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.12.0...master)
|
3
|
+
|
4
|
+
Bug fixes
|
5
|
+
|
6
|
+
* Operates correctly when ActiveRecord is only partially loaded (e.g., with
|
7
|
+
older versions of Mongoid). (Eric Marden)
|
8
|
+
* `expect(subject).to have(...).errors_on` operates correctly for
|
9
|
+
ActiveResource models where `valid?` does not accept an argument. (Yi Wen)
|
10
|
+
* Rails 4 support for routing specs. (Andy Lindeman)
|
11
|
+
* Rails 4 support for `ActiveRecord::Relation` and the `=~` operator matcher.
|
12
|
+
(Andy Lindeman)
|
13
|
+
* Anonymous controllers define `_routes` to support testing of redirection
|
14
|
+
and generation of URLs from other contexts. (Andy Lindeman)
|
15
|
+
|
1
16
|
### 2.12.0 / 2012-11-12
|
2
|
-
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.11.4...
|
17
|
+
[full changelog](http://github.com/rspec/rspec-rails/compare/v2.11.4...v2.12.0)
|
3
18
|
|
4
19
|
Enhancements
|
5
20
|
|
data/README.md
CHANGED
@@ -13,7 +13,6 @@ gem install rspec-rails
|
|
13
13
|
This installs the following gems:
|
14
14
|
|
15
15
|
```
|
16
|
-
rspec
|
17
16
|
rspec-core
|
18
17
|
rspec-expectations
|
19
18
|
rspec-mocks
|
@@ -104,7 +103,7 @@ See http://github.com/rspec/rspec-rails/issues
|
|
104
103
|
|
105
104
|
# Request Specs
|
106
105
|
|
107
|
-
Request specs live in spec/requests, and mix in behavior
|
106
|
+
Request specs live in spec/requests, spec/api and spec/integration, and mix in behavior
|
108
107
|
[ActionDispatch::Integration::Runner](http://api.rubyonrails.org/classes/ActionDispatch/Integration/Runner.html),
|
109
108
|
which is the basis for [Rails' integration
|
110
109
|
tests](http://guides.rubyonrails.org/testing.html#integration-testing). The
|
@@ -328,3 +328,58 @@ Feature: anonymous controller
|
|
328
328
|
"""
|
329
329
|
When I run `rspec spec`
|
330
330
|
Then the examples should all pass
|
331
|
+
|
332
|
+
Scenario: draw custom routes for anonymous controllers
|
333
|
+
Given a file named "spec/controllers/application_controller_spec.rb" with:
|
334
|
+
"""ruby
|
335
|
+
require "spec_helper"
|
336
|
+
|
337
|
+
describe ApplicationController do
|
338
|
+
controller do
|
339
|
+
def custom
|
340
|
+
render :text => "custom called"
|
341
|
+
end
|
342
|
+
end
|
343
|
+
|
344
|
+
specify "a custom action can be requested if routes are drawn manually" do
|
345
|
+
routes.draw { get "custom" => "anonymous#custom" }
|
346
|
+
|
347
|
+
get :custom
|
348
|
+
expect(response.body).to eq "custom called"
|
349
|
+
end
|
350
|
+
end
|
351
|
+
"""
|
352
|
+
When I run `rspec spec`
|
353
|
+
Then the examples should all pass
|
354
|
+
|
355
|
+
Scenario: redirecting via a before_filter in ApplicationController
|
356
|
+
Given a file named "spec/controllers/application_controller_spec.rb" with:
|
357
|
+
"""ruby
|
358
|
+
require "spec_helper"
|
359
|
+
|
360
|
+
class ApplicationController < ActionController::Base
|
361
|
+
private
|
362
|
+
|
363
|
+
def redirect_to_index
|
364
|
+
redirect_to(:action => :index)
|
365
|
+
end
|
366
|
+
end
|
367
|
+
|
368
|
+
describe ApplicationController do
|
369
|
+
controller do
|
370
|
+
before_filter :redirect_to_index, :only => :show
|
371
|
+
|
372
|
+
def show
|
373
|
+
end
|
374
|
+
end
|
375
|
+
|
376
|
+
context "GET #show" do
|
377
|
+
it "redirects to the index page" do
|
378
|
+
get :show, :id => 1
|
379
|
+
expect(response).to redirect_to(:action => :index)
|
380
|
+
end
|
381
|
+
end
|
382
|
+
end
|
383
|
+
"""
|
384
|
+
When I run `rspec spec`
|
385
|
+
Then the examples should all pass
|
@@ -21,7 +21,7 @@ Feature: request spec
|
|
21
21
|
|
22
22
|
[Capybara](http://github.com/jnicklas/capybara) is no longer supported in
|
23
23
|
request specs as of Capybara 2.0.0. The recommended way to use Capybara is
|
24
|
-
with [feature specs](../
|
24
|
+
with [feature specs](../feature-specs/feature-spec).
|
25
25
|
|
26
26
|
Scenario: specify managing a Widget with Rails integration methods
|
27
27
|
Given a file named "spec/requests/widget_management_spec.rb" with:
|
data/lib/rspec/rails/adapters.rb
CHANGED
@@ -1,8 +1,41 @@
|
|
1
|
+
require 'delegate'
|
1
2
|
require 'active_support/concern'
|
2
3
|
require 'test/unit/assertions'
|
3
4
|
|
4
5
|
module RSpec
|
5
6
|
module Rails
|
7
|
+
class AssertionDelegator < Module
|
8
|
+
# @api private
|
9
|
+
def initialize(*assertion_modules)
|
10
|
+
assertion_class = Class.new(SimpleDelegator) do
|
11
|
+
include Test::Unit::Assertions
|
12
|
+
assertion_modules.each { |mod| include mod }
|
13
|
+
end
|
14
|
+
|
15
|
+
super() do
|
16
|
+
# @api private
|
17
|
+
define_method :build_assertion_instance do
|
18
|
+
assertion_class.new(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
# @api private
|
22
|
+
def assertion_instance
|
23
|
+
@assertion_instance ||= build_assertion_instance
|
24
|
+
end
|
25
|
+
|
26
|
+
assertion_modules.each do |mod|
|
27
|
+
mod.instance_methods.each do |method|
|
28
|
+
class_eval <<-EOM, __FILE__, __LINE__ + 1
|
29
|
+
def #{method}(*args, &block)
|
30
|
+
assertion_instance.send(:#{method}, *args, &block)
|
31
|
+
end
|
32
|
+
EOM
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
6
39
|
module SetupAndTeardownAdapter
|
7
40
|
extend ActiveSupport::Concern
|
8
41
|
|
@@ -53,7 +86,7 @@ module RSpec
|
|
53
86
|
# @api private
|
54
87
|
def define_assertion_delegators
|
55
88
|
assertion_method_names.each do |m|
|
56
|
-
class_eval <<-CODE
|
89
|
+
class_eval <<-CODE, __FILE__, __LINE__ + 1
|
57
90
|
def #{m}(*args, &block)
|
58
91
|
assertion_delegator.send :#{m}, *args, &block
|
59
92
|
end
|
data/lib/rspec/rails/example.rb
CHANGED
@@ -10,7 +10,7 @@ require 'rspec/rails/example/feature_example_group'
|
|
10
10
|
|
11
11
|
RSpec::configure do |c|
|
12
12
|
def c.escaped_path(*parts)
|
13
|
-
Regexp.compile(parts.join('[\\\/]'))
|
13
|
+
Regexp.compile(parts.join('[\\\/]') + '[\\\/]')
|
14
14
|
end
|
15
15
|
|
16
16
|
c.include RSpec::Rails::ControllerExampleGroup, :type => :controller, :example_group => {
|
@@ -4,15 +4,16 @@ module RSpec::Rails
|
|
4
4
|
module RoutingExampleGroup
|
5
5
|
extend ActiveSupport::Concern
|
6
6
|
include RSpec::Rails::RailsExampleGroup
|
7
|
-
include ActionDispatch::Assertions::RoutingAssertions
|
8
7
|
include RSpec::Rails::Matchers::RoutingMatchers
|
9
8
|
include RSpec::Rails::Matchers::RoutingMatchers::RouteHelpers
|
9
|
+
include RSpec::Rails::AssertionDelegator.new(ActionDispatch::Assertions::RoutingAssertions)
|
10
10
|
|
11
11
|
included do
|
12
12
|
metadata[:type] = :routing
|
13
13
|
|
14
14
|
before do
|
15
15
|
@routes = ::Rails.application.routes
|
16
|
+
assertion_instance.instance_variable_set(:@routes, @routes)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
@@ -24,24 +24,29 @@ module RSpec
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
27
|
+
if defined?(::ActiveModel)
|
28
|
+
module ::ActiveModel::Validations
|
29
|
+
# Extension to enhance `should have` on AR Model instances. Calls
|
30
|
+
# model.valid? in order to prepare the object's errors object. Accepts
|
31
|
+
# a :context option to specify the validation context.
|
32
|
+
#
|
33
|
+
# You can also use this to specify the content of the error messages.
|
34
|
+
#
|
35
|
+
# @example
|
36
|
+
#
|
37
|
+
# model.should have(:no).errors_on(:attribute)
|
38
|
+
# model.should have(1).error_on(:attribute)
|
39
|
+
# model.should have(n).errors_on(:attribute)
|
40
|
+
# model.should have(n).errors_on(:attribute, :context => :create)
|
41
|
+
#
|
42
|
+
# model.errors_on(:attribute).should include("can't be blank")
|
43
|
+
def errors_on(attribute, options = {})
|
44
|
+
valid_args = [options[:context]].compact
|
45
|
+
self.valid?(*valid_args)
|
46
|
+
|
47
|
+
[self.errors[attribute]].flatten.compact
|
48
|
+
end
|
49
|
+
|
50
|
+
alias :error_on :errors_on
|
45
51
|
end
|
46
|
-
alias :error_on :errors_on
|
47
52
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
RSpec.configure do |rspec|
|
2
2
|
# Delay this in order to give users a chance to configure `expect_with`...
|
3
3
|
rspec.before(:suite) do
|
4
|
-
if defined?(RSpec::Matchers) && RSpec::Matchers.configuration.syntax.include?(:should) && defined?(ActiveRecord)
|
4
|
+
if defined?(RSpec::Matchers) && RSpec::Matchers.configuration.syntax.include?(:should) && defined?(ActiveRecord::Associations)
|
5
5
|
# In Rails 3.0, it was AssociationProxy.
|
6
6
|
# In 3.1+, it's CollectionProxy.
|
7
7
|
const_name = [:CollectionProxy, :AssociationProxy].find do |const|
|
data/lib/rspec/rails/version.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe RSpec::Rails::AssertionDelegator do
|
4
|
+
it "provides a module that delegates assertion methods to an isolated class" do
|
5
|
+
klass = Class.new {
|
6
|
+
include RSpec::Rails::AssertionDelegator.new(Test::Unit::Assertions)
|
7
|
+
}
|
8
|
+
|
9
|
+
expect(klass.new).to respond_to(:assert)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "delegates back to the including instance for methods the assertion module requires" do
|
13
|
+
assertions = Module.new {
|
14
|
+
def has_thing?(thing)
|
15
|
+
self.things.include?(thing)
|
16
|
+
end
|
17
|
+
}
|
18
|
+
|
19
|
+
klass = Class.new {
|
20
|
+
include RSpec::Rails::AssertionDelegator.new(assertions)
|
21
|
+
|
22
|
+
def things
|
23
|
+
[:a]
|
24
|
+
end
|
25
|
+
}
|
26
|
+
|
27
|
+
expect(klass.new).to have_thing(:a)
|
28
|
+
expect(klass.new).not_to have_thing(:b)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ::ActiveModel::Validations do
|
4
|
+
describe "#errors_on" do
|
5
|
+
context "ActiveModel class that takes no arguments to valid?" do
|
6
|
+
let(:klass) {
|
7
|
+
Class.new do
|
8
|
+
include ActiveModel::Validations
|
9
|
+
|
10
|
+
def self.name
|
11
|
+
"ActiveModelValidationsFake"
|
12
|
+
end
|
13
|
+
|
14
|
+
def valid?
|
15
|
+
super
|
16
|
+
end
|
17
|
+
|
18
|
+
attr_accessor :name
|
19
|
+
validates_presence_of :name
|
20
|
+
end
|
21
|
+
}
|
22
|
+
|
23
|
+
context "with nil name" do
|
24
|
+
it "has one error" do
|
25
|
+
object = klass.new
|
26
|
+
object.name = ""
|
27
|
+
|
28
|
+
expect(object).to have(1).error_on(:name)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "with non-blank name" do
|
33
|
+
it "has no error" do
|
34
|
+
object = klass.new
|
35
|
+
object.name = "Ywen"
|
36
|
+
|
37
|
+
expect(object).to have(:no).error_on(:name)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
metadata
CHANGED
@@ -1,214 +1,222 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rails
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 61
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 12
|
9
|
+
- 1
|
10
|
+
version: 2.12.1
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- David Chelimsky
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2013-01-07 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
17
22
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
22
|
-
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
hash: 7
|
27
|
+
segments:
|
28
|
+
- 3
|
29
|
+
- 0
|
30
|
+
version: "3.0"
|
23
31
|
prerelease: false
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
name: activesupport
|
34
|
+
requirement: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
25
37
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
hash: 7
|
42
|
+
segments:
|
43
|
+
- 3
|
44
|
+
- 0
|
45
|
+
version: "3.0"
|
46
|
+
prerelease: false
|
47
|
+
type: :runtime
|
31
48
|
name: actionpack
|
32
|
-
requirement:
|
49
|
+
requirement: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
33
52
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
38
|
-
|
53
|
+
requirements:
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
hash: 7
|
57
|
+
segments:
|
58
|
+
- 3
|
59
|
+
- 0
|
60
|
+
version: "3.0"
|
39
61
|
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '3.0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: railties
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '3.0'
|
54
62
|
type: :runtime
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: rspec-core
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
63
|
+
name: railties
|
64
|
+
requirement: *id003
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
65
67
|
none: false
|
66
|
-
requirements:
|
68
|
+
requirements:
|
67
69
|
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 63
|
72
|
+
segments:
|
73
|
+
- 2
|
74
|
+
- 12
|
75
|
+
- 0
|
69
76
|
version: 2.12.0
|
70
|
-
type: :runtime
|
71
77
|
prerelease: false
|
72
|
-
|
78
|
+
type: :runtime
|
79
|
+
name: rspec-core
|
80
|
+
requirement: *id004
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
73
83
|
none: false
|
74
|
-
requirements:
|
84
|
+
requirements:
|
75
85
|
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 63
|
88
|
+
segments:
|
89
|
+
- 2
|
90
|
+
- 12
|
91
|
+
- 0
|
77
92
|
version: 2.12.0
|
78
|
-
|
93
|
+
prerelease: false
|
94
|
+
type: :runtime
|
79
95
|
name: rspec-expectations
|
80
|
-
requirement:
|
96
|
+
requirement: *id005
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
81
99
|
none: false
|
82
|
-
requirements:
|
100
|
+
requirements:
|
83
101
|
- - ~>
|
84
|
-
- !ruby/object:Gem::Version
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
hash: 63
|
104
|
+
segments:
|
105
|
+
- 2
|
106
|
+
- 12
|
107
|
+
- 0
|
85
108
|
version: 2.12.0
|
86
|
-
type: :runtime
|
87
109
|
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ~>
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 2.12.0
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: rspec-mocks
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ~>
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: 2.12.0
|
102
110
|
type: :runtime
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: 2.12.0
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rake
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
111
|
+
name: rspec-mocks
|
112
|
+
requirement: *id006
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
113
115
|
none: false
|
114
|
-
requirements:
|
116
|
+
requirements:
|
115
117
|
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
hash: 79
|
120
|
+
segments:
|
121
|
+
- 10
|
122
|
+
- 0
|
123
|
+
- 0
|
117
124
|
version: 10.0.0
|
118
|
-
type: :development
|
119
125
|
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 10.0.0
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: cucumber
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ~>
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
version: 1.1.9
|
134
126
|
type: :development
|
135
|
-
|
136
|
-
|
127
|
+
name: rake
|
128
|
+
requirement: *id007
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
137
131
|
none: false
|
138
|
-
requirements:
|
132
|
+
requirements:
|
139
133
|
- - ~>
|
140
|
-
- !ruby/object:Gem::Version
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
hash: 1
|
136
|
+
segments:
|
137
|
+
- 1
|
138
|
+
- 1
|
139
|
+
- 9
|
141
140
|
version: 1.1.9
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: aruba
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ~>
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 0.4.11
|
150
|
-
type: :development
|
151
141
|
prerelease: false
|
152
|
-
|
142
|
+
type: :development
|
143
|
+
name: cucumber
|
144
|
+
requirement: *id008
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
153
147
|
none: false
|
154
|
-
requirements:
|
148
|
+
requirements:
|
155
149
|
- - ~>
|
156
|
-
- !ruby/object:Gem::Version
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
hash: 25
|
152
|
+
segments:
|
153
|
+
- 0
|
154
|
+
- 4
|
155
|
+
- 11
|
157
156
|
version: 0.4.11
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: ZenTest
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
|
-
requirements:
|
163
|
-
- - '='
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 4.6.2
|
166
|
-
type: :development
|
167
157
|
prerelease: false
|
168
|
-
|
158
|
+
type: :development
|
159
|
+
name: aruba
|
160
|
+
requirement: *id009
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
version_requirements: &id010 !ruby/object:Gem::Requirement
|
169
163
|
none: false
|
170
|
-
requirements:
|
171
|
-
- -
|
172
|
-
- !ruby/object:Gem::Version
|
164
|
+
requirements:
|
165
|
+
- - "="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
hash: 35
|
168
|
+
segments:
|
169
|
+
- 4
|
170
|
+
- 6
|
171
|
+
- 2
|
173
172
|
version: 4.6.2
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: ammeter
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
|
-
requirements:
|
179
|
-
- - '='
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version: 0.2.5
|
182
|
-
type: :development
|
183
173
|
prerelease: false
|
184
|
-
|
174
|
+
type: :development
|
175
|
+
name: ZenTest
|
176
|
+
requirement: *id010
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
version_requirements: &id011 !ruby/object:Gem::Requirement
|
185
179
|
none: false
|
186
|
-
requirements:
|
187
|
-
- -
|
188
|
-
- !ruby/object:Gem::Version
|
180
|
+
requirements:
|
181
|
+
- - "="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
hash: 29
|
184
|
+
segments:
|
185
|
+
- 0
|
186
|
+
- 2
|
187
|
+
- 5
|
189
188
|
version: 0.2.5
|
190
|
-
- !ruby/object:Gem::Dependency
|
191
|
-
name: capybara
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
|
-
requirements:
|
195
|
-
- - ! '>='
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
version: 2.0.0.beta4
|
198
|
-
type: :development
|
199
189
|
prerelease: false
|
200
|
-
|
190
|
+
type: :development
|
191
|
+
name: ammeter
|
192
|
+
requirement: *id011
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
version_requirements: &id012 !ruby/object:Gem::Requirement
|
201
195
|
none: false
|
202
|
-
requirements:
|
203
|
-
- -
|
204
|
-
- !ruby/object:Gem::Version
|
196
|
+
requirements:
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
hash: -580594208
|
200
|
+
segments:
|
201
|
+
- 2
|
202
|
+
- 0
|
203
|
+
- 0
|
204
|
+
- beta
|
205
|
+
- 4
|
205
206
|
version: 2.0.0.beta4
|
207
|
+
prerelease: false
|
208
|
+
type: :development
|
209
|
+
name: capybara
|
210
|
+
requirement: *id012
|
206
211
|
description: RSpec for Rails
|
207
212
|
email: rspec-users@rubyforge.org
|
208
213
|
executables: []
|
214
|
+
|
209
215
|
extensions: []
|
216
|
+
|
210
217
|
extra_rdoc_files: []
|
211
|
-
|
218
|
+
|
219
|
+
files:
|
212
220
|
- lib/autotest/rails_rspec2.rb
|
213
221
|
- lib/generators/rspec.rb
|
214
222
|
- lib/generators/rspec/controller/controller_generator.rb
|
@@ -326,6 +334,7 @@ files:
|
|
326
334
|
- spec/generators/rspec/scaffold/scaffold_generator_spec.rb
|
327
335
|
- spec/generators/rspec/view/view_generator_spec.rb
|
328
336
|
- spec/rspec/rails/assertion_adapter_spec.rb
|
337
|
+
- spec/rspec/rails/assertion_delegator_spec.rb
|
329
338
|
- spec/rspec/rails/configuration_spec.rb
|
330
339
|
- spec/rspec/rails/deprecations_spec.rb
|
331
340
|
- spec/rspec/rails/example/controller_example_group_spec.rb
|
@@ -337,6 +346,7 @@ files:
|
|
337
346
|
- spec/rspec/rails/example/routing_example_group_spec.rb
|
338
347
|
- spec/rspec/rails/example/view_example_group_spec.rb
|
339
348
|
- spec/rspec/rails/extensions/active_model/errors_on_spec.rb
|
349
|
+
- spec/rspec/rails/extensions/active_record/base_spec.rb
|
340
350
|
- spec/rspec/rails/extensions/active_record/records_spec.rb
|
341
351
|
- spec/rspec/rails/fixture_support_spec.rb
|
342
352
|
- spec/rspec/rails/matchers/be_a_new_spec.rb
|
@@ -357,38 +367,39 @@ files:
|
|
357
367
|
- spec/support/helpers.rb
|
358
368
|
- spec/support/matchers.rb
|
359
369
|
homepage: http://github.com/rspec/rspec-rails
|
360
|
-
licenses:
|
370
|
+
licenses:
|
361
371
|
- MIT
|
362
372
|
post_install_message:
|
363
|
-
rdoc_options:
|
373
|
+
rdoc_options:
|
364
374
|
- --charset=UTF-8
|
365
|
-
require_paths:
|
375
|
+
require_paths:
|
366
376
|
- lib
|
367
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
377
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
368
378
|
none: false
|
369
|
-
requirements:
|
370
|
-
- -
|
371
|
-
- !ruby/object:Gem::Version
|
372
|
-
|
373
|
-
segments:
|
379
|
+
requirements:
|
380
|
+
- - ">="
|
381
|
+
- !ruby/object:Gem::Version
|
382
|
+
hash: 3
|
383
|
+
segments:
|
374
384
|
- 0
|
375
|
-
|
376
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
385
|
+
version: "0"
|
386
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
377
387
|
none: false
|
378
|
-
requirements:
|
379
|
-
- -
|
380
|
-
- !ruby/object:Gem::Version
|
381
|
-
|
382
|
-
segments:
|
388
|
+
requirements:
|
389
|
+
- - ">="
|
390
|
+
- !ruby/object:Gem::Version
|
391
|
+
hash: 3
|
392
|
+
segments:
|
383
393
|
- 0
|
384
|
-
|
394
|
+
version: "0"
|
385
395
|
requirements: []
|
396
|
+
|
386
397
|
rubyforge_project: rspec
|
387
398
|
rubygems_version: 1.8.24
|
388
399
|
signing_key:
|
389
400
|
specification_version: 3
|
390
|
-
summary: rspec-rails-2.12.
|
391
|
-
test_files:
|
401
|
+
summary: rspec-rails-2.12.1
|
402
|
+
test_files:
|
392
403
|
- features/Autotest.md
|
393
404
|
- features/Generators.md
|
394
405
|
- features/GettingStarted.md
|
@@ -438,6 +449,7 @@ test_files:
|
|
438
449
|
- spec/generators/rspec/scaffold/scaffold_generator_spec.rb
|
439
450
|
- spec/generators/rspec/view/view_generator_spec.rb
|
440
451
|
- spec/rspec/rails/assertion_adapter_spec.rb
|
452
|
+
- spec/rspec/rails/assertion_delegator_spec.rb
|
441
453
|
- spec/rspec/rails/configuration_spec.rb
|
442
454
|
- spec/rspec/rails/deprecations_spec.rb
|
443
455
|
- spec/rspec/rails/example/controller_example_group_spec.rb
|
@@ -449,6 +461,7 @@ test_files:
|
|
449
461
|
- spec/rspec/rails/example/routing_example_group_spec.rb
|
450
462
|
- spec/rspec/rails/example/view_example_group_spec.rb
|
451
463
|
- spec/rspec/rails/extensions/active_model/errors_on_spec.rb
|
464
|
+
- spec/rspec/rails/extensions/active_record/base_spec.rb
|
452
465
|
- spec/rspec/rails/extensions/active_record/records_spec.rb
|
453
466
|
- spec/rspec/rails/fixture_support_spec.rb
|
454
467
|
- spec/rspec/rails/matchers/be_a_new_spec.rb
|