rspec-rails 2.12.0 → 2.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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
|