rspec-rails 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/History.rdoc +27 -2
  2. data/Manifest.txt +3 -2
  3. data/Rakefile +5 -6
  4. data/TODO.txt +17 -0
  5. data/Upgrade.rdoc +11 -0
  6. data/generators/integration_spec/integration_spec_generator.rb +10 -0
  7. data/generators/integration_spec/templates/integration_spec.rb +4 -0
  8. data/generators/rspec/templates/rcov.opts +1 -1
  9. data/generators/rspec/templates/rspec.rake +27 -12
  10. data/generators/rspec/templates/spec_helper.rb +5 -1
  11. data/generators/rspec_controller/templates/helper_spec.rb +1 -1
  12. data/generators/rspec_controller/templates/view_spec.rb +1 -1
  13. data/generators/rspec_default_values.rb +11 -2
  14. data/generators/rspec_model/templates/model_spec.rb +1 -3
  15. data/generators/rspec_scaffold/rspec_scaffold_generator.rb +7 -3
  16. data/generators/rspec_scaffold/templates/controller_spec.rb +8 -8
  17. data/generators/rspec_scaffold/templates/edit_erb_spec.rb +2 -4
  18. data/generators/rspec_scaffold/templates/helper_spec.rb +2 -2
  19. data/generators/rspec_scaffold/templates/index_erb_spec.rb +1 -2
  20. data/generators/rspec_scaffold/templates/new_erb_spec.rb +2 -4
  21. data/generators/rspec_scaffold/templates/routing_spec.rb +16 -16
  22. data/generators/rspec_scaffold/templates/show_erb_spec.rb +0 -1
  23. data/lib/autotest/discover.rb +5 -1
  24. data/lib/spec/rails.rb +0 -2
  25. data/lib/spec/rails/example.rb +1 -0
  26. data/lib/spec/rails/example/controller_example_group.rb +22 -2
  27. data/lib/spec/rails/example/functional_example_group.rb +22 -0
  28. data/lib/spec/rails/example/integration_example_group.rb +16 -0
  29. data/lib/spec/rails/example/render_observer.rb +15 -2
  30. data/lib/spec/rails/extensions/spec/matchers/have.rb +4 -4
  31. data/lib/spec/rails/matchers/ar_be_valid.rb +33 -31
  32. data/lib/spec/rails/matchers/change.rb +9 -7
  33. data/lib/spec/rails/matchers/render_template.rb +10 -1
  34. data/lib/spec/rails/spec_server.rb +3 -0
  35. data/lib/spec/rails/version.rb +4 -3
  36. data/spec/resources/controllers/controller_spec_controller.rb +5 -2
  37. data/spec/spec/rails/example/controller_isolation_spec.rb +7 -1
  38. data/spec/spec/rails/extensions/action_view_base_spec.rb +42 -16
  39. data/spec/spec/rails/matchers/errors_on_spec.rb +14 -2
  40. data/spec/spec/rails/matchers/have_text_spec.rb +0 -1
  41. data/spec/spec/rails/matchers/render_template_spec.rb +11 -1
  42. data/spec/spec/rails/spec_server_spec.rb +2 -1
  43. metadata +12 -11
  44. data/features/step_definitions/people.rb +0 -6
  45. data/features/support/env.rb +0 -13
@@ -4,9 +4,10 @@ module Spec # :nodoc:
4
4
  unless defined? MAJOR
5
5
  MAJOR = 1
6
6
  MINOR = 2
7
- TINY = 6
8
-
9
- STRING = [MAJOR, MINOR, TINY].compact.join('.')
7
+ TINY = 7
8
+ PRE = nil
9
+
10
+ STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
10
11
 
11
12
  SUMMARY = "rspec-rails #{STRING}"
12
13
  end
@@ -13,6 +13,9 @@ class ControllerSpecController < ActionController::Base
13
13
  render :template => "template/that/does/not/actually/exist"
14
14
  end
15
15
 
16
+ def some_action_with_implied_template
17
+ end
18
+
16
19
  def action_with_template
17
20
  render :template => "controller_spec/action_with_template"
18
21
  end
@@ -105,11 +108,11 @@ class ControllerSpecController < ActionController::Base
105
108
  end
106
109
 
107
110
  def rescued_error_action
108
- raise RescuedError
111
+ raise ControllerSpecController::RescuedError
109
112
  end
110
113
 
111
114
  def un_rescued_error_action
112
- raise UnRescuedError
115
+ raise ControllerSpecController::UnRescuedError
113
116
  end
114
117
  end
115
118
 
@@ -4,12 +4,18 @@ require 'controller_spec_controller'
4
4
  describe "a controller spec running in isolation mode", :type => :controller do
5
5
  controller_name :controller_spec
6
6
 
7
- it "should not care if the template doesn't exist" do
7
+ it "should not care if the specified template doesn't exist" do
8
8
  get 'some_action'
9
9
  response.should be_success
10
10
  response.should render_template("template/that/does/not/actually/exist")
11
11
  end
12
12
 
13
+ it "should not care if the implied template doesn't exist" do
14
+ get 'some_action_with_implied_template'
15
+ response.should be_success
16
+ response.should render_template("some_action_with_implied_template")
17
+ end
18
+
13
19
  it "should not care if the template has errors" do
14
20
  get 'action_with_errors_in_template'
15
21
  response.should be_success
@@ -23,26 +23,52 @@ describe ActionView::Base, "with RSpec extensions:", :type => :view do
23
23
  end
24
24
  end
25
25
 
26
- describe "stub!(:render)" do
27
- it "should not raise when stubbing and render has been received" do
28
- template.stub!(:render).with(:partial => "name")
29
- template.render :partial => "name"
30
- end
26
+ [:stub!, :stub].each do |method|
27
+ describe "#{method}(:render)" do
28
+ it "should not raise when stubbing and render has been received" do
29
+ template.send(method, :render).with(:partial => "name")
30
+ template.render :partial => "name"
31
+ end
31
32
 
32
- it "should not raise when stubbing and render has NOT been received" do
33
- template.stub!(:render).with(:partial => "name")
34
- end
33
+ it "should not raise when stubbing and render has NOT been received" do
34
+ template.send(method, :render).with(:partial => "name")
35
+ end
35
36
 
36
- it "should not raise when stubbing and render has been received with different options" do
37
- template.stub!(:render).with(:partial => "name")
38
- template.render :partial => "view_spec/spacer"
39
- end
37
+ it "should not raise when stubbing and render has been received with different options" do
38
+ template.send(method, :render).with(:partial => "name")
39
+ template.render :partial => "view_spec/spacer"
40
+ end
40
41
 
41
- it "should not raise when stubbing and expecting and render has been received" do
42
- template.stub!(:render).with(:partial => "name")
43
- template.should_receive(:render).with(:partial => "name")
44
- template.render(:partial => "name")
42
+ it "should not raise when stubbing and expecting and render has been received" do
43
+ template.send(method, :render).with(:partial => "name")
44
+ template.should_receive(:render).with(:partial => "name")
45
+ template.render(:partial => "name")
46
+ end
45
47
  end
48
+
49
+ describe "#{method}(:helper_method)" do
50
+ it "should not raise when stubbing and helper_method has been received" do
51
+ template.send(method, :helper_method).with(:arg => "value")
52
+ template.helper_method :arg => "value"
53
+ end
54
+
55
+ it "should not raise when stubbing and helper_method has NOT been received" do
56
+ template.send(method, :helper_method).with(:arg => "value")
57
+ end
58
+
59
+ it "SHOULD raise when stubbing and helper_method has been received with different options" do
60
+ template.send(method, :helper_method).with(:arg => "value")
61
+ expect { template.helper_method :arg => "other_value" }.
62
+ to raise_error(/undefined .* `helper_method'/)
63
+ end
64
+
65
+ it "should not raise when stubbing and expecting and helper_method has been received" do
66
+ template.send(method, :helper_method).with(:arg => "value")
67
+ template.should_receive(:helper_method).with(:arg => "value")
68
+ template.helper_method(:arg => "value")
69
+ end
70
+ end
71
+
46
72
  end
47
73
 
48
74
  end
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
 
3
3
  describe "error_on" do
4
4
  it "should provide a description including the name of what the error is on" do
5
- have(1).error_on(:whatever).description.should == "should have 1 error on :whatever"
5
+ have(1).error_on(:whatever).description.should == "have 1 error on :whatever"
6
6
  end
7
7
 
8
8
  it "should provide a failure message including the number actually given" do
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  describe "errors_on" do
16
16
  it "should provide a description including the name of what the error is on" do
17
- have(2).errors_on(:whatever).description.should == "should have 2 errors on :whatever"
17
+ have(2).errors_on(:whatever).description.should == "have 2 errors on :whatever"
18
18
  end
19
19
 
20
20
  it "should provide a failure message including the number actually given" do
@@ -22,4 +22,16 @@ describe "errors_on" do
22
22
  [1].should have(3).errors_on(:whatever)
23
23
  }.should fail_with("expected 3 errors on :whatever, got 1")
24
24
  end
25
+ end
26
+
27
+ describe "have something other than error_on or errors_on" do
28
+ it "has a standard rspec failure message" do
29
+ lambda {
30
+ [1,2,3].should have(2).elements
31
+ }.should fail_with("expected 2 elements, got 3")
32
+ end
33
+
34
+ it "has a standard rspec description" do
35
+ have(2).elements.description.should == "have 2 elements"
36
+ end
25
37
  end
@@ -1,7 +1,6 @@
1
1
  require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
 
3
3
  describe "have_text" do
4
-
5
4
 
6
5
  it "should have a helpful description" do
7
6
  matcher = have_text("foo bar")
@@ -16,11 +16,21 @@ require File.dirname(__FILE__) + '/../../../spec_helper'
16
16
  should render_template('some_action')
17
17
  end
18
18
 
19
+ it "does not match an action that is a truncated version of the actual action" do
20
+ post 'some_action'
21
+ should_not render_template('some_actio')
22
+ end
23
+
19
24
  if ::Rails::VERSION::STRING >= '2.3'
20
- it "matches an action with specified extenstions" do
25
+ it "matches an action with specified extenstions (implicit format)" do
21
26
  post 'some_action'
22
27
  should render_template('some_action.html.erb')
23
28
  end
29
+
30
+ it "matches an action with specified extenstions (explicit format)" do
31
+ post 'some_action', :format => 'js'
32
+ should render_template('some_action.js.rjs')
33
+ end
24
34
  end
25
35
 
26
36
  it "matches an action (using a symbol)" do
@@ -54,8 +54,9 @@ shared_examples_for "script/spec_server file" do
54
54
 
55
55
  def start_spec_server
56
56
  dir = File.dirname(__FILE__)
57
+
57
58
  Thread.start do
58
- system "cd #{RAILS_ROOT}; script/spec_server"
59
+ system "cd #{RAILS_ROOT}; CACHE_CLASSES=#{(Rails::VERSION::STRING < '2.2')} script/spec_server"
59
60
  end
60
61
 
61
62
  file_content = ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.6
4
+ version: 1.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - RSpec Development Team
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-30 00:00:00 -05:00
12
+ date: 2009-06-22 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,9 +18,9 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - "="
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.2.6
23
+ version: 1.2.7
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rack
@@ -40,7 +40,7 @@ dependencies:
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 0.2.2
43
+ version: 0.3.11
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: hoe
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 1.12.1
53
+ version: 2.1.0
54
54
  version:
55
55
  description: Behaviour Driven Development for Ruby on Rails.
56
56
  email:
@@ -73,8 +73,8 @@ files:
73
73
  - Rakefile
74
74
  - TODO.txt
75
75
  - Upgrade.rdoc
76
- - features/step_definitions/people.rb
77
- - features/support/env.rb
76
+ - generators/integration_spec/integration_spec_generator.rb
77
+ - generators/integration_spec/templates/integration_spec.rb
78
78
  - generators/rspec/CHANGES
79
79
  - generators/rspec/rspec_generator.rb
80
80
  - generators/rspec/templates/previous_failures.txt
@@ -112,6 +112,7 @@ files:
112
112
  - lib/spec/rails/example/cookies_proxy.rb
113
113
  - lib/spec/rails/example/functional_example_group.rb
114
114
  - lib/spec/rails/example/helper_example_group.rb
115
+ - lib/spec/rails/example/integration_example_group.rb
115
116
  - lib/spec/rails/example/model_example_group.rb
116
117
  - lib/spec/rails/example/render_observer.rb
117
118
  - lib/spec/rails/example/routing_example_group.rb
@@ -237,7 +238,7 @@ licenses: []
237
238
  post_install_message: |
238
239
  **************************************************
239
240
 
240
- Thank you for installing rspec-rails-1.2.6
241
+ Thank you for installing rspec-rails-1.2.7
241
242
 
242
243
  If you are upgrading, do this in each of your rails apps
243
244
  that you want to upgrade:
@@ -269,9 +270,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
269
270
  requirements: []
270
271
 
271
272
  rubyforge_project: rspec
272
- rubygems_version: 1.3.2
273
+ rubygems_version: 1.3.4
273
274
  signing_key:
274
275
  specification_version: 3
275
- summary: rspec-rails 1.2.6
276
+ summary: rspec-rails 1.2.7
276
277
  test_files: []
277
278
 
@@ -1,6 +0,0 @@
1
- When "I add a Person" do
2
- Person.create!(:name => "Foo")
3
- end
4
- Then "there should be one person" do
5
- Person.count.should == 1
6
- end
@@ -1,13 +0,0 @@
1
- # Sets up the Rails environment for Cucumber
2
- ENV["RAILS_ENV"] = "test"
3
- require File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
4
- require 'cucumber/rails/world'
5
- Cucumber::Rails.use_transactional_fixtures
6
-
7
- # require 'webrat/rails'
8
-
9
- # Comment out the next two lines if you're not using RSpec's matchers (should / should_not) in your steps.
10
- require 'cucumber/rails/rspec'
11
- # require 'webrat/rspec-rails'
12
-
13
- require File.join(File.dirname(__FILE__), "/../../spec/resources/models/person")