rspec-rails 2.6.0.rc4 → 2.6.0.rc6

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 CHANGED
@@ -2,6 +2,7 @@ tmp
2
2
  doc
3
3
  pkg
4
4
  vendor
5
+ !lib/rspec/rails/vendor
5
6
  *.gem
6
7
  Gemfile
7
8
  Gemfile.lock
@@ -5,5 +5,6 @@ rvm:
5
5
  gemfile:
6
6
  - gemfiles/rails-3.0.7
7
7
  - gemfiles/rails-3-0-stable
8
+ - gemfiles/rails-3.1.0.beta1
8
9
  env:
9
10
  - CI=true
@@ -1,3 +1,12 @@
1
+ ### 2.6.0.rc6 / 2011-05-06
2
+
3
+ [full changelog](http://github.com/rspec/rspec-rails/compare/v2.6.0.rc4...v2.6.0.rc6)
4
+
5
+ * Bug fixes
6
+ * Fix load order issue w/ Capybara (oleg dashevskii)
7
+ * Relax the dependencies on rails gems to >= 3.0 (Joel Moss)
8
+ * Fix monkey patches that broke due to internal changes in rails-3.1.0.beta1
9
+
1
10
  ### 2.6.0.rc4 / 2011-05-01
2
11
 
3
12
  [full changelog](http://github.com/rspec/rspec-rails/compare/v2.6.0.rc2...v2.6.0.rc4)
@@ -26,45 +26,3 @@ Feature: be_a_new matcher
26
26
  """
27
27
  When I run `rspec spec/models/widget_spec.rb`
28
28
  Then the examples should all pass
29
-
30
- Scenario: example spec using be_a_new.with
31
- Given a file named "spec/models/widget_spec.rb" with:
32
- """
33
- require "spec_helper"
34
-
35
- class Widget < ActiveRecord::Base
36
- establish_connection :adapter => 'sqlite3',
37
- :database => ':memory:'
38
-
39
- connection.execute <<-eosql
40
- CREATE TABLE widgets (
41
- foo_id integer,
42
- number integer
43
- )
44
- eosql
45
- end
46
-
47
- describe Widget do
48
- context "when initialized with attributes" do
49
- subject { Widget.new(:foo_id => 1, :number => 1) }
50
-
51
- it "has all of the attributes" do
52
- should be_a_new(Widget).with(:foo_id => 1, :number => 1)
53
- end
54
-
55
- it "has one of the attributes" do
56
- should be_a_new(Widget).with(:foo_id => 1)
57
- end
58
-
59
- it "has none of the attributes" do
60
- should_not be_a_new(Widget).with(:blah => 'blah')
61
- end
62
-
63
- it "has one of the attribute values not the same" do
64
- should_not be_a_new(Widget).with(:foo_id => 2)
65
- end
66
- end
67
- end
68
- """
69
- When I run `rspec spec/models/widget_spec.rb`
70
- Then the examples should all pass
@@ -134,25 +134,6 @@ Feature: view spec
134
134
  When I run `rspec spec/views`
135
135
  Then the examples should all pass
136
136
 
137
- Scenario: passing spec with rendering of Prototype helper update
138
- Given a file named "spec/views/widgets/prototype_update.html.erb_spec.rb" with:
139
- """
140
- require "spec_helper"
141
-
142
- describe "render a Prototype helper update" do
143
- it "hides the status indicator" do
144
-
145
- render :update do |page|
146
- page.hide 'status-indicator'
147
- end
148
-
149
- rendered.should =~ /Element.hide\(\"status-indicator\"\);/
150
- end
151
- end
152
- """
153
- When I run `rspec spec/views`
154
- Then the examples should all pass
155
-
156
137
  Scenario: spec with view that accesses helper_method helpers
157
138
  Given a file named "app/views/secrets/index.html.erb" with:
158
139
  """
@@ -20,7 +20,7 @@ module GemfileBase
20
20
  gem "growl", "1.0.3"
21
21
  gem "ZenTest", "~> 4.4.2"
22
22
 
23
- # gem "webrat", "0.7.2"
23
+ # gem "webrat", "0.7.3"
24
24
  # gem "capybara", "~> 0.4"
25
25
  # gem "capybara", "1.0.0.beta1"
26
26
 
@@ -4,4 +4,3 @@ extend GemfileBase
4
4
 
5
5
  gem "rails", :git => "git://github.com/rails/rails.git", :branch => "3-0-stable"
6
6
  gem "arel", :git => "git://github.com/rails/arel.git", :branch => "2-0-stable"
7
- gem "rack", :git => "git://github.com/rack/rack.git"
@@ -0,0 +1,16 @@
1
+ require File.expand_path("../base.rb", __FILE__)
2
+
3
+ extend GemfileBase
4
+
5
+ gem "rails", "3.1.0.beta1"
6
+
7
+ # From the Gemfile generated by 'rails new ....'
8
+ gem 'sass'
9
+ gem 'coffee-script'
10
+ gem 'uglifier'
11
+ gem 'jquery-rails'
12
+
13
+ group :test do
14
+ # Pretty printed test output
15
+ gem 'turn', :require => false
16
+ end
@@ -127,7 +127,7 @@ describe <%= controller_class_name %>Controller do
127
127
  <%= file_name %> = <%= class_name %>.create! valid_attributes
128
128
  # Trigger the behavior that occurs when invalid params are submitted
129
129
  <%= class_name %>.any_instance.stub(:save).and_return(false)
130
- put :update, :id => <%= file_name %>.id.to_s
130
+ put :update, :id => <%= file_name %>.id.to_s, :<%= ns_file_name %> => {}
131
131
  assigns(:<%= ns_file_name %>).should eq(<%= file_name %>)
132
132
  end
133
133
 
@@ -135,7 +135,7 @@ describe <%= controller_class_name %>Controller do
135
135
  <%= file_name %> = <%= class_name %>.create! valid_attributes
136
136
  # Trigger the behavior that occurs when invalid params are submitted
137
137
  <%= class_name %>.any_instance.stub(:save).and_return(false)
138
- put :update, :id => <%= file_name %>.id.to_s
138
+ put :update, :id => <%= file_name %>.id.to_s, :<%= ns_file_name %> => {}
139
139
  response.should render_template("edit")
140
140
  end
141
141
  end
@@ -12,6 +12,6 @@ require 'rspec/rails/matchers'
12
12
  require 'rspec/rails/fixture_support'
13
13
  require 'rspec/rails/mocks'
14
14
  require 'rspec/rails/module_inclusion'
15
- require 'rspec/rails/browser_simulators'
16
15
  require 'rspec/rails/example'
17
-
16
+ require 'rspec/rails/vendor/capybara'
17
+ require 'rspec/rails/vendor/webrat'
@@ -82,21 +82,6 @@ module RSpec::Rails
82
82
  include RSpec::Rails::Matchers::RedirectTo
83
83
  include RSpec::Rails::Matchers::RenderTemplate
84
84
  include RSpec::Rails::Matchers::RoutingMatchers
85
- include RSpec::Rails::BrowserSimulators
86
-
87
- webrat do
88
- include Webrat::Matchers
89
- include Webrat::Methods
90
- end
91
-
92
- capybara do
93
- begin
94
- include Capybara::DSL
95
- include Capybara::RSpecMatchers
96
- rescue
97
- include Capybara
98
- end
99
- end
100
85
 
101
86
  module ClassMethods
102
87
  def controller_class
@@ -140,11 +125,9 @@ module RSpec::Rails
140
125
  # defined in +ApplicationController+, however, are accessible from within
141
126
  # the block.
142
127
  def controller(base_class = ApplicationController, &body)
143
- metadata[:example_group][:describes] = Class.new(base_class, &body)
144
- metadata[:example_group][:describes].singleton_class.class_eval do
145
- def name
146
- "StubResourcesController"
147
- end
128
+ base_class.dup.tap do |new_base|
129
+ def new_base.name; "StubResourcesController"; end
130
+ metadata[:example_group][:describes] = Class.new(new_base, &body)
148
131
  end
149
132
 
150
133
  before do
@@ -179,12 +162,6 @@ module RSpec::Rails
179
162
  @routes = ::Rails.application.routes
180
163
  ActionController::Base.allow_forgery_protection = false
181
164
  end
182
-
183
- webrat do
184
- before do
185
- Webrat.configure {|c| c.mode = :rails}
186
- end
187
- end
188
165
  end
189
166
  end
190
167
  end
@@ -30,15 +30,6 @@ module RSpec::Rails
30
30
  include RSpec::Rails::RailsExampleGroup
31
31
  include ActionView::TestCase::Behavior
32
32
  include RSpec::Rails::ViewAssigns
33
- include RSpec::Rails::BrowserSimulators
34
-
35
- webrat do
36
- include Webrat::Matchers
37
- end
38
-
39
- capybara do
40
- include Capybara::RSpecMatchers if defined?(Capybara::RSpecMatchers)
41
- end
42
33
 
43
34
  module ClassMethods
44
35
  def determine_default_helper_class(ignore)
@@ -4,19 +4,6 @@ if defined?(ActionMailer)
4
4
  extend ActiveSupport::Concern
5
5
  include RSpec::Rails::RailsExampleGroup
6
6
  include ActionMailer::TestCase::Behavior
7
- include RSpec::Rails::BrowserSimulators
8
-
9
- webrat do
10
- include Webrat::Matchers
11
- end
12
-
13
- capybara do
14
- begin
15
- include Capybara::RSpecMatchers
16
- rescue
17
- include Capybara
18
- end
19
- end
20
7
 
21
8
  included do
22
9
  metadata[:type] = :mailer
@@ -16,7 +16,6 @@ module RSpec::Rails
16
16
  include RSpec::Rails::RailsExampleGroup
17
17
  include ActionDispatch::Integration::Runner
18
18
  include ActionDispatch::Assertions
19
- include RSpec::Rails::BrowserSimulators
20
19
 
21
20
  module InstanceMethods
22
21
  def app
@@ -24,22 +23,6 @@ module RSpec::Rails
24
23
  end
25
24
  end
26
25
 
27
- webrat do
28
- include Webrat::Matchers
29
- include Webrat::Methods
30
-
31
- module InstanceMethods
32
-
33
- def last_response
34
- @response
35
- end
36
- end
37
- end
38
-
39
- capybara do
40
- include Capybara unless defined?(Capybara::DSL)
41
- end
42
-
43
26
  include RSpec::Rails::Matchers::RedirectTo
44
27
  include RSpec::Rails::Matchers::RenderTemplate
45
28
  include ActionController::TemplateAssertions
@@ -50,14 +33,6 @@ module RSpec::Rails
50
33
  before do
51
34
  @routes = ::Rails.application.routes
52
35
  end
53
-
54
- webrat do
55
- before do
56
- Webrat.configure do |c|
57
- c.mode = :rack
58
- end
59
- end
60
- end
61
36
  end
62
37
  end
63
38
  end
@@ -23,15 +23,6 @@ module RSpec::Rails
23
23
  include ActionView::TestCase::Behavior
24
24
  include RSpec::Rails::ViewAssigns
25
25
  include RSpec::Rails::Matchers::RenderTemplate
26
- include RSpec::Rails::BrowserSimulators
27
-
28
- webrat do
29
- include Webrat::Matchers
30
- end
31
-
32
- capybara do
33
- include Capybara::RSpecMatchers if defined?(Capybara::RSpecMatchers)
34
- end
35
26
 
36
27
  module ClassMethods
37
28
  def _default_helper
@@ -151,7 +142,13 @@ module RSpec::Rails
151
142
 
152
143
  before do
153
144
  _include_controller_helpers
154
- controller.controller_path = _controller_path
145
+ if view.lookup_context.respond_to?(:prefixes)
146
+ # rails 3.1
147
+ view.lookup_context.prefixes << _controller_path
148
+ else
149
+ # rails 3.0
150
+ controller.controller_path = _controller_path
151
+ end
155
152
  controller.request.path_parameters["controller"] = _controller_path
156
153
  controller.request.path_parameters["action"] = _inferred_action unless _inferred_action =~ /^_/
157
154
  end
@@ -0,0 +1,29 @@
1
+ begin
2
+ require 'capybara/rspec'
3
+ rescue LoadError
4
+ end
5
+
6
+ begin
7
+ require 'capybara/rails'
8
+ rescue LoadError
9
+ end
10
+
11
+ RSpec.configure do |c|
12
+ if defined?(Capybara::RSpecMatchers)
13
+ c.include Capybara::RSpecMatchers, :type => :view
14
+ c.include Capybara::RSpecMatchers, :type => :helper
15
+ c.include Capybara::RSpecMatchers, :type => :mailer
16
+ c.include Capybara::RSpecMatchers, :type => :controller
17
+ end
18
+
19
+ if defined?(Capybara::DSL)
20
+ c.include Capybara::DSL, :type => :controller
21
+ end
22
+
23
+ unless defined?(Capybara::RSpecMatchers) || defined?(Capybara::DSL)
24
+ if defined?(Capybara)
25
+ c.include Capybara, :type => :request
26
+ c.include Capybara, :type => :controller
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,33 @@
1
+ begin
2
+ require 'webrat'
3
+ rescue LoadError
4
+ end
5
+
6
+ RSpec.configure do |c|
7
+ if defined?(Webrat)
8
+ c.include Webrat::Matchers, :type => :request
9
+ c.include Webrat::Matchers, :type => :controller
10
+ c.include Webrat::Matchers, :type => :view
11
+ c.include Webrat::Matchers, :type => :helper
12
+ c.include Webrat::Matchers, :type => :mailer
13
+
14
+ c.include Webrat::Methods, :type => :request
15
+ c.include Webrat::Methods, :type => :controller
16
+
17
+ module RequestInstanceMethods
18
+ def last_response
19
+ @response
20
+ end
21
+ end
22
+
23
+ c.include RequestInstanceMethods, :type => :request
24
+
25
+ c.before :type => :controller do
26
+ Webrat.configure {|c| c.mode = :rails}
27
+ end
28
+
29
+ c.before :type => :request do
30
+ Webrat.configure {|c| c.mode = :rack}
31
+ end
32
+ end
33
+ end
@@ -1,7 +1,7 @@
1
1
  module RSpec # :nodoc:
2
2
  module Rails # :nodoc:
3
3
  module Version # :nodoc:
4
- STRING = '2.6.0.rc4'
4
+ STRING = '2.6.0.rc6'
5
5
  end
6
6
  end
7
7
  end
@@ -22,9 +22,9 @@ Gem::Specification.new do |s|
22
22
  s.rdoc_options = ["--charset=UTF-8"]
23
23
  s.require_path = "lib"
24
24
 
25
- s.add_runtime_dependency(%q<activesupport>, ["~> 3.0"])
26
- s.add_runtime_dependency(%q<actionpack>, ["~> 3.0"])
27
- s.add_runtime_dependency(%q<railties>, ["~> 3.0"])
25
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0"])
26
+ s.add_runtime_dependency(%q<actionpack>, [">= 3.0"])
27
+ s.add_runtime_dependency(%q<railties>, [">= 3.0"])
28
28
  if RSpec::Rails::Version::STRING =~ /[a-zA-Z]+/
29
29
  s.add_runtime_dependency "rspec", "= #{RSpec::Rails::Version::STRING}"
30
30
  else
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424061
4
+ hash: 15424057
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 2
8
8
  - 6
9
9
  - 0
10
10
  - rc
11
- - 4
12
- version: 2.6.0.rc4
11
+ - 6
12
+ version: 2.6.0.rc6
13
13
  platform: ruby
14
14
  authors:
15
15
  - David Chelimsky
@@ -17,14 +17,14 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-05-01 00:00:00 -04:00
20
+ date: 2011-05-06 00:00:00 -05:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  version_requirements: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  hash: 7
30
30
  segments:
@@ -39,7 +39,7 @@ dependencies:
39
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
- - - ~>
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  hash: 7
45
45
  segments:
@@ -54,7 +54,7 @@ dependencies:
54
54
  version_requirements: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
- - - ~>
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
59
  hash: 7
60
60
  segments:
@@ -71,14 +71,14 @@ dependencies:
71
71
  requirements:
72
72
  - - "="
73
73
  - !ruby/object:Gem::Version
74
- hash: 15424061
74
+ hash: 15424057
75
75
  segments:
76
76
  - 2
77
77
  - 6
78
78
  - 0
79
79
  - rc
80
- - 4
81
- version: 2.6.0.rc4
80
+ - 6
81
+ version: 2.6.0.rc6
82
82
  prerelease: false
83
83
  type: :runtime
84
84
  requirement: *id004
@@ -149,6 +149,7 @@ files:
149
149
  - gemfiles/rails-3.0.5
150
150
  - gemfiles/rails-3.0.6
151
151
  - gemfiles/rails-3.0.7
152
+ - gemfiles/rails-3.1.0.beta1
152
153
  - gemfiles/rails-master
153
154
  - lib/autotest/rails_rspec2.rb
154
155
  - lib/generators/rspec.rb
@@ -182,7 +183,6 @@ files:
182
183
  - lib/rspec-rails.rb
183
184
  - lib/rspec/rails.rb
184
185
  - lib/rspec/rails/adapters.rb
185
- - lib/rspec/rails/browser_simulators.rb
186
186
  - lib/rspec/rails/example.rb
187
187
  - lib/rspec/rails/example/controller_example_group.rb
188
188
  - lib/rspec/rails/example/helper_example_group.rb
@@ -205,6 +205,8 @@ files:
205
205
  - lib/rspec/rails/mocks.rb
206
206
  - lib/rspec/rails/module_inclusion.rb
207
207
  - lib/rspec/rails/tasks/rspec.rake
208
+ - lib/rspec/rails/vendor/capybara.rb
209
+ - lib/rspec/rails/vendor/webrat.rb
208
210
  - lib/rspec/rails/version.rb
209
211
  - lib/rspec/rails/view_assigns.rb
210
212
  - lib/rspec/rails/view_rendering.rb
@@ -274,7 +276,7 @@ rubyforge_project: rspec
274
276
  rubygems_version: 1.6.2
275
277
  signing_key:
276
278
  specification_version: 3
277
- summary: rspec-rails-2.6.0.rc4
279
+ summary: rspec-rails-2.6.0.rc6
278
280
  test_files:
279
281
  - features/Autotest.md
280
282
  - features/Changelog.md
@@ -1,35 +0,0 @@
1
- begin
2
- require 'capybara/rspec'
3
- rescue LoadError
4
- end
5
-
6
- begin
7
- require 'capybara/rails'
8
- rescue LoadError
9
- end
10
-
11
- begin
12
- require 'webrat'
13
- rescue LoadError
14
- end
15
-
16
- module RSpec
17
- module Rails
18
- module BrowserSimulators
19
- extend ActiveSupport::Concern
20
-
21
- def self.included(mod)
22
- mod.instance_eval do
23
- def webrat(&block)
24
- block.call if defined?(Webrat)
25
- end
26
-
27
- def capybara(&block)
28
- block.call if defined?(Capybara)
29
- end
30
- end
31
- end
32
-
33
- end
34
- end
35
- end