rspec-rails 2.5.0 → 2.6.0.rc2
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 +9 -4
 - data/.travis.yml +11 -0
 - data/README_DEV.md +43 -0
 - data/Rakefile +54 -27
 - data/Thorfile +6 -21
 - data/features/Autotest.md +7 -0
 - data/features/Changelog.md +17 -2
 - data/features/Upgrade.md +13 -12
 - data/features/controller_specs/README.md +18 -10
 - data/features/controller_specs/anonymous_controller.feature +5 -5
 - data/features/controller_specs/controller_spec.feature +1 -1
 - data/features/controller_specs/isolation_from_views.feature +2 -2
 - data/features/controller_specs/render_views.feature +3 -3
 - data/features/helper_specs/helper_spec.feature +3 -3
 - data/features/mailer_specs/url_helpers.feature +2 -2
 - data/features/matchers/new_record_matcher.feature +2 -2
 - data/features/matchers/redirect_to_matcher.feature +1 -1
 - data/features/matchers/render_template_matcher.feature +1 -1
 - data/features/mocks/mock_model.feature +21 -5
 - data/features/mocks/stub_model.feature +2 -2
 - data/features/model_specs/errors_on.feature +1 -1
 - data/features/model_specs/transactional_examples.feature +10 -5
 - data/features/routing_specs/README.md +2 -1
 - data/features/routing_specs/be_routable_matcher.feature +5 -5
 - data/features/routing_specs/named_routes.feature +1 -1
 - data/features/routing_specs/route_to_matcher.feature +28 -8
 - data/features/step_definitions/additional_cli_steps.rb +1 -1
 - data/features/support/env.rb +7 -18
 - data/features/view_specs/inferred_controller_path.feature +3 -3
 - data/features/view_specs/stub_template.feature +2 -2
 - data/features/view_specs/view_spec.feature +8 -8
 - data/gemfiles/base.rb +45 -0
 - data/gemfiles/rails-3-0-stable +7 -0
 - data/gemfiles/rails-3.0.0 +5 -0
 - data/gemfiles/rails-3.0.1 +5 -0
 - data/gemfiles/rails-3.0.2 +5 -0
 - data/gemfiles/rails-3.0.3 +5 -0
 - data/gemfiles/rails-3.0.4 +5 -0
 - data/gemfiles/rails-3.0.5 +5 -0
 - data/gemfiles/rails-3.0.6 +5 -0
 - data/gemfiles/rails-master +7 -0
 - data/lib/generators/rspec/scaffold/scaffold_generator.rb +20 -2
 - data/lib/generators/rspec/scaffold/templates/controller_spec.rb +23 -23
 - data/lib/generators/rspec/scaffold/templates/edit_spec.rb +7 -7
 - data/lib/generators/rspec/scaffold/templates/index_spec.rb +2 -2
 - data/lib/generators/rspec/scaffold/templates/new_spec.rb +5 -5
 - data/lib/generators/rspec/scaffold/templates/routing_spec.rb +14 -14
 - data/lib/generators/rspec/scaffold/templates/show_spec.rb +2 -2
 - data/lib/rspec/rails/example/controller_example_group.rb +9 -1
 - data/lib/rspec/rails/example/routing_example_group.rb +1 -0
 - data/lib/rspec/rails/matchers/routing_matchers.rb +23 -2
 - data/lib/rspec/rails/mocks.rb +3 -0
 - data/lib/rspec/rails/tasks/rspec.rake +1 -1
 - data/lib/rspec/rails/version.rb +1 -1
 - data/rspec-rails.gemspec +5 -36
 - data/spec/autotest/rails_rspec2_spec.rb +2 -7
 - data/spec/rspec/rails/example/controller_example_group_spec.rb +25 -0
 - data/spec/rspec/rails/matchers/route_to_spec.rb +15 -0
 - data/spec/rspec/rails/mocks/ar_classes.rb +5 -2
 - data/spec/rspec/rails/view_rendering_spec.rb +0 -6
 - data/templates/generate_stuff.rb +2 -1
 - data/templates/run_specs.rb +2 -2
 - metadata +54 -77
 - data/Gemfile-3-0-stable +0 -6
 - data/Gemfile-3.0.0 +0 -3
 - data/Gemfile-3.0.3 +0 -3
 - data/Gemfile-base +0 -38
 - data/Gemfile-master +0 -5
 - data/specs.watchr +0 -59
 - data/templates/Gemfile-base +0 -17
 
| 
         @@ -25,7 +25,7 @@ Feature: helper spec 
     | 
|
| 
       25 
25 
     | 
    
         
             
                    end
         
     | 
| 
       26 
26 
     | 
    
         
             
                  end
         
     | 
| 
       27 
27 
     | 
    
         
             
                  """
         
     | 
| 
       28 
     | 
    
         
            -
                When I run  
     | 
| 
      
 28 
     | 
    
         
            +
                When I run `rspec spec/helpers/application_helper_spec.rb`
         
     | 
| 
       29 
29 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              Scenario: helper method that accesses an instance variable
         
     | 
| 
         @@ -50,7 +50,7 @@ Feature: helper spec 
     | 
|
| 
       50 
50 
     | 
    
         
             
                    end
         
     | 
| 
       51 
51 
     | 
    
         
             
                  end
         
     | 
| 
       52 
52 
     | 
    
         
             
                  """
         
     | 
| 
       53 
     | 
    
         
            -
                When I run  
     | 
| 
      
 53 
     | 
    
         
            +
                When I run `rspec spec/helpers/application_helper_spec.rb`
         
     | 
| 
       54 
54 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       55 
55 
     | 
    
         | 
| 
       56 
56 
     | 
    
         
             
              Scenario: application helper is included in helper object
         
     | 
| 
         @@ -83,5 +83,5 @@ Feature: helper spec 
     | 
|
| 
       83 
83 
     | 
    
         
             
                    end
         
     | 
| 
       84 
84 
     | 
    
         
             
                  end
         
     | 
| 
       85 
85 
     | 
    
         
             
                  """
         
     | 
| 
       86 
     | 
    
         
            -
                When I run  
     | 
| 
      
 86 
     | 
    
         
            +
                When I run `rspec spec/helpers/widgets_helper_spec.rb`
         
     | 
| 
       87 
87 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -15,7 +15,7 @@ Feature: URL helpers in mailer examples 
     | 
|
| 
       15 
15 
     | 
    
         
             
                    end
         
     | 
| 
       16 
16 
     | 
    
         
             
                  end
         
     | 
| 
       17 
17 
     | 
    
         
             
                  """
         
     | 
| 
       18 
     | 
    
         
            -
                When I run  
     | 
| 
      
 18 
     | 
    
         
            +
                When I run `rspec spec`
         
     | 
| 
       19 
19 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
21 
     | 
    
         
             
              Scenario: using URL helpers without default options
         
     | 
| 
         @@ -34,5 +34,5 @@ Feature: URL helpers in mailer examples 
     | 
|
| 
       34 
34 
     | 
    
         
             
                    end
         
     | 
| 
       35 
35 
     | 
    
         
             
                  end
         
     | 
| 
       36 
36 
     | 
    
         
             
                  """
         
     | 
| 
       37 
     | 
    
         
            -
                When I run  
     | 
| 
      
 37 
     | 
    
         
            +
                When I run `rspec spec`
         
     | 
| 
       38 
38 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -24,7 +24,7 @@ Feature: be_a_new matcher 
     | 
|
| 
       24 
24 
     | 
    
         
             
                    end
         
     | 
| 
       25 
25 
     | 
    
         
             
                  end
         
     | 
| 
       26 
26 
     | 
    
         
             
                  """
         
     | 
| 
       27 
     | 
    
         
            -
                When I run  
     | 
| 
      
 27 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       28 
28 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       29 
29 
     | 
    
         | 
| 
       30 
30 
     | 
    
         
             
              Scenario: example spec using be_a_new.with
         
     | 
| 
         @@ -66,5 +66,5 @@ Feature: be_a_new matcher 
     | 
|
| 
       66 
66 
     | 
    
         
             
                    end
         
     | 
| 
       67 
67 
     | 
    
         
             
                  end
         
     | 
| 
       68 
68 
     | 
    
         
             
                  """
         
     | 
| 
       69 
     | 
    
         
            -
                When I run  
     | 
| 
      
 69 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       70 
70 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -36,7 +36,7 @@ Feature: mock_model 
     | 
|
| 
       36 
36 
     | 
    
         
             
                    end
         
     | 
| 
       37 
37 
     | 
    
         
             
                  end
         
     | 
| 
       38 
38 
     | 
    
         
             
                  """
         
     | 
| 
       39 
     | 
    
         
            -
                When I run  
     | 
| 
      
 39 
     | 
    
         
            +
                When I run `rspec spec/models/car_spec.rb`
         
     | 
| 
       40 
40 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
              Scenario: passing a string that represents an existing constant
         
     | 
| 
         @@ -51,7 +51,7 @@ Feature: mock_model 
     | 
|
| 
       51 
51 
     | 
    
         
             
                    end
         
     | 
| 
       52 
52 
     | 
    
         
             
                  end
         
     | 
| 
       53 
53 
     | 
    
         
             
                  """
         
     | 
| 
       54 
     | 
    
         
            -
                When I run  
     | 
| 
      
 54 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       55 
55 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       56 
56 
     | 
    
         | 
| 
       57 
57 
     | 
    
         
             
              Scenario: passing a class that does not extend ActiveModel::Naming
         
     | 
| 
         @@ -65,7 +65,7 @@ Feature: mock_model 
     | 
|
| 
       65 
65 
     | 
    
         
             
                    end
         
     | 
| 
       66 
66 
     | 
    
         
             
                  end
         
     | 
| 
       67 
67 
     | 
    
         
             
                  """
         
     | 
| 
       68 
     | 
    
         
            -
                When I run  
     | 
| 
      
 68 
     | 
    
         
            +
                When I run `rspec spec/models/string_spec.rb`
         
     | 
| 
       69 
69 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
       71 
71 
     | 
    
         
             
              Scenario: passing an Active Record constant
         
     | 
| 
         @@ -94,7 +94,7 @@ Feature: mock_model 
     | 
|
| 
       94 
94 
     | 
    
         
             
                    end
         
     | 
| 
       95 
95 
     | 
    
         
             
                  end
         
     | 
| 
       96 
96 
     | 
    
         
             
                  """
         
     | 
| 
       97 
     | 
    
         
            -
                When I run  
     | 
| 
      
 97 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       98 
98 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       99 
99 
     | 
    
         | 
| 
       100 
100 
     | 
    
         
             
              Scenario: passing an Active Record constant with method stubs
         
     | 
| 
         @@ -127,5 +127,21 @@ Feature: mock_model 
     | 
|
| 
       127 
127 
     | 
    
         
             
                    end
         
     | 
| 
       128 
128 
     | 
    
         
             
                  end
         
     | 
| 
       129 
129 
     | 
    
         
             
                  """
         
     | 
| 
       130 
     | 
    
         
            -
                When I run  
     | 
| 
      
 130 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
      
 131 
     | 
    
         
            +
                Then the examples should all pass
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
              Scenario: mock_model outside rails
         
     | 
| 
      
 134 
     | 
    
         
            +
                Given a file named "mock_model_outside_rails_spec.rb" with:
         
     | 
| 
      
 135 
     | 
    
         
            +
                  """
         
     | 
| 
      
 136 
     | 
    
         
            +
                  require 'rspec/rails/mocks'
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
                  describe "Foo" do
         
     | 
| 
      
 139 
     | 
    
         
            +
                    it "is mockable" do
         
     | 
| 
      
 140 
     | 
    
         
            +
                      foo = mock_model("Foo")
         
     | 
| 
      
 141 
     | 
    
         
            +
                      foo.id.should eq(1001)
         
     | 
| 
      
 142 
     | 
    
         
            +
                      foo.to_param.should eq("1001")
         
     | 
| 
      
 143 
     | 
    
         
            +
                    end
         
     | 
| 
      
 144 
     | 
    
         
            +
                  end
         
     | 
| 
      
 145 
     | 
    
         
            +
                  """
         
     | 
| 
      
 146 
     | 
    
         
            +
                When I run `rspec mock_model_outside_rails_spec.rb`
         
     | 
| 
       131 
147 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -34,7 +34,7 @@ Feature: stub_model 
     | 
|
| 
       34 
34 
     | 
    
         
             
                    end
         
     | 
| 
       35 
35 
     | 
    
         
             
                  end
         
     | 
| 
       36 
36 
     | 
    
         
             
                  """
         
     | 
| 
       37 
     | 
    
         
            -
                When I run  
     | 
| 
      
 37 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       38 
38 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
40 
     | 
    
         
             
              Scenario: passing an Active Record constant with a block of stubs
         
     | 
| 
         @@ -54,5 +54,5 @@ Feature: stub_model 
     | 
|
| 
       54 
54 
     | 
    
         
             
                    end
         
     | 
| 
       55 
55 
     | 
    
         
             
                  end
         
     | 
| 
       56 
56 
     | 
    
         
             
                  """
         
     | 
| 
       57 
     | 
    
         
            -
                When I run  
     | 
| 
      
 57 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       58 
58 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -1,5 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Feature: transactional examples
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
      
 3 
     | 
    
         
            +
              By default rspec executes each individual example in a transaction.
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              You can also explicitly enable/disable transactions the configuration
         
     | 
| 
      
 6 
     | 
    
         
            +
              property 'use_transactional_examples'.
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
       3 
8 
     | 
    
         
             
              Scenario: run in transactions (default)
         
     | 
| 
       4 
9 
     | 
    
         
             
                Given a file named "spec/models/widget_spec.rb" with:
         
     | 
| 
       5 
10 
     | 
    
         
             
                  """
         
     | 
| 
         @@ -20,7 +25,7 @@ Feature: transactional examples 
     | 
|
| 
       20 
25 
     | 
    
         
             
                    end
         
     | 
| 
       21 
26 
     | 
    
         
             
                  end
         
     | 
| 
       22 
27 
     | 
    
         
             
                  """
         
     | 
| 
       23 
     | 
    
         
            -
                When I run  
     | 
| 
      
 28 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       24 
29 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       25 
30 
     | 
    
         | 
| 
       26 
31 
     | 
    
         
             
              Scenario: run in transactions (explicit)
         
     | 
| 
         @@ -47,7 +52,7 @@ Feature: transactional examples 
     | 
|
| 
       47 
52 
     | 
    
         
             
                    end
         
     | 
| 
       48 
53 
     | 
    
         
             
                  end
         
     | 
| 
       49 
54 
     | 
    
         
             
                  """
         
     | 
| 
       50 
     | 
    
         
            -
                When I run  
     | 
| 
      
 55 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       51 
56 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       52 
57 
     | 
    
         | 
| 
       53 
58 
     | 
    
         
             
              Scenario: disable transactions (explicit)
         
     | 
| 
         @@ -76,7 +81,7 @@ Feature: transactional examples 
     | 
|
| 
       76 
81 
     | 
    
         
             
                    after(:all) { Widget.destroy_all }
         
     | 
| 
       77 
82 
     | 
    
         
             
                  end
         
     | 
| 
       78 
83 
     | 
    
         
             
                  """
         
     | 
| 
       79 
     | 
    
         
            -
                When I run  
     | 
| 
      
 84 
     | 
    
         
            +
                When I run `rspec spec/models/widget_spec.rb`
         
     | 
| 
       80 
85 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       81 
86 
     | 
    
         | 
| 
       82 
87 
     | 
    
         
             
              Scenario: run in transactions with fixture
         
     | 
| 
         @@ -84,7 +89,7 @@ Feature: transactional examples 
     | 
|
| 
       84 
89 
     | 
    
         
             
                  """
         
     | 
| 
       85 
90 
     | 
    
         
             
                  require "spec_helper"
         
     | 
| 
       86 
91 
     | 
    
         | 
| 
       87 
     | 
    
         
            -
                  describe Thing do 
     | 
| 
      
 92 
     | 
    
         
            +
                  describe Thing do
         
     | 
| 
       88 
93 
     | 
    
         
             
                    fixtures :things
         
     | 
| 
       89 
94 
     | 
    
         
             
                    it "fixture method defined" do
         
     | 
| 
       90 
95 
     | 
    
         
             
                      things(:one)
         
     | 
| 
         @@ -96,7 +101,7 @@ Feature: transactional examples 
     | 
|
| 
       96 
101 
     | 
    
         
             
                  one:
         
     | 
| 
       97 
102 
     | 
    
         
             
                    name: MyString
         
     | 
| 
       98 
103 
     | 
    
         
             
                  """
         
     | 
| 
       99 
     | 
    
         
            -
                When I run  
     | 
| 
      
 104 
     | 
    
         
            +
                When I run `rspec spec/models/thing_spec.rb`
         
     | 
| 
       100 
105 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       101 
106 
     | 
    
         | 
| 
       102 
107 
     | 
    
         | 
| 
         @@ -1,4 +1,5 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            Routing specs live in the `spec/routing` directory 
     | 
| 
      
 1 
     | 
    
         
            +
            Routing specs live in the `spec/routing` directory, or any example group with
         
     | 
| 
      
 2 
     | 
    
         
            +
            `:type => :routing`.
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            Simple apps with nothing but standard RESTful routes won't get much value from
         
     | 
| 
       4 
5 
     | 
    
         
             
            routing specs, but they can provide significant value when used to specify
         
     | 
| 
         @@ -16,7 +16,7 @@ Feature: be_routable matcher 
     | 
|
| 
       16 
16 
     | 
    
         
             
                  end
         
     | 
| 
       17 
17 
     | 
    
         
             
                  """
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
                When I run  
     | 
| 
      
 19 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
       20 
20 
     | 
    
         
             
                Then the output should contain "1 example, 1 failure"
         
     | 
| 
       21 
21 
     | 
    
         | 
| 
       22 
22 
     | 
    
         
             
              Scenario: specify non-routeable route should not be routable (passes)
         
     | 
| 
         @@ -31,7 +31,7 @@ Feature: be_routable matcher 
     | 
|
| 
       31 
31 
     | 
    
         
             
                  end
         
     | 
| 
       32 
32 
     | 
    
         
             
                  """
         
     | 
| 
       33 
33 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
                When I run  
     | 
| 
      
 34 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
       35 
35 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       36 
36 
     | 
    
         | 
| 
       37 
37 
     | 
    
         
             
              Scenario: specify routeable route should be routable (passes)
         
     | 
| 
         @@ -46,7 +46,7 @@ Feature: be_routable matcher 
     | 
|
| 
       46 
46 
     | 
    
         
             
                  end
         
     | 
| 
       47 
47 
     | 
    
         
             
                  """
         
     | 
| 
       48 
48 
     | 
    
         | 
| 
       49 
     | 
    
         
            -
                When I run  
     | 
| 
      
 49 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
       50 
50 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
              Scenario: specify non-routeable route should be routable (fails)
         
     | 
| 
         @@ -61,7 +61,7 @@ Feature: be_routable matcher 
     | 
|
| 
       61 
61 
     | 
    
         
             
                  end
         
     | 
| 
       62 
62 
     | 
    
         
             
                  """
         
     | 
| 
       63 
63 
     | 
    
         | 
| 
       64 
     | 
    
         
            -
                When I run  
     | 
| 
      
 64 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
       65 
65 
     | 
    
         
             
                Then the output should contain "1 example, 1 failure"
         
     | 
| 
       66 
66 
     | 
    
         | 
| 
       67 
67 
     | 
    
         
             
              Scenario: be_routable in a controller spec
         
     | 
| 
         @@ -76,5 +76,5 @@ Feature: be_routable matcher 
     | 
|
| 
       76 
76 
     | 
    
         
             
                  end
         
     | 
| 
       77 
77 
     | 
    
         
             
                  """
         
     | 
| 
       78 
78 
     | 
    
         | 
| 
       79 
     | 
    
         
            -
                When I run  
     | 
| 
      
 79 
     | 
    
         
            +
                When I run `rspec spec/controllers/widgets_controller_spec.rb`
         
     | 
| 
       80 
80 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
         @@ -1,11 +1,32 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Feature: route_to matcher
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
              The `route_to` matcher specifies that a request (verb +  
     | 
| 
       4 
     | 
    
         
            -
              is most valuable when specifying routes other than standard RESTful 
     | 
| 
      
 3 
     | 
    
         
            +
              The `route_to` matcher specifies that a request (verb + path) is routable.
         
     | 
| 
      
 4 
     | 
    
         
            +
              It is most valuable when specifying routes other than standard RESTful
         
     | 
| 
      
 5 
     | 
    
         
            +
              routes.
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  get("/").should route_to("welcome#index")
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  or
         
     | 
| 
       5 
10 
     | 
    
         | 
| 
       6 
11 
     | 
    
         
             
                  { :get => "/" }.should route_to(:controller => "welcome")
         
     | 
| 
       7 
12 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
              Scenario: passing route spec
         
     | 
| 
      
 13 
     | 
    
         
            +
              Scenario: passing route spec with shortcut syntax
         
     | 
| 
      
 14 
     | 
    
         
            +
                Given a file named "spec/routing/widgets_routing_spec.rb" with:
         
     | 
| 
      
 15 
     | 
    
         
            +
                  """
         
     | 
| 
      
 16 
     | 
    
         
            +
                  require "spec_helper"
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  describe "routes for Widgets" do
         
     | 
| 
      
 19 
     | 
    
         
            +
                    it "routes /widgets to the widgets controller" do
         
     | 
| 
      
 20 
     | 
    
         
            +
                      get("/widgets").
         
     | 
| 
      
 21 
     | 
    
         
            +
                        should route_to("widgets#index")
         
     | 
| 
      
 22 
     | 
    
         
            +
                    end
         
     | 
| 
      
 23 
     | 
    
         
            +
                  end
         
     | 
| 
      
 24 
     | 
    
         
            +
                  """
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
      
 27 
     | 
    
         
            +
                Then the examples should all pass
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              Scenario: passing route spec with verbose syntax
         
     | 
| 
       9 
30 
     | 
    
         
             
                Given a file named "spec/routing/widgets_routing_spec.rb" with:
         
     | 
| 
       10 
31 
     | 
    
         
             
                  """
         
     | 
| 
       11 
32 
     | 
    
         
             
                  require "spec_helper"
         
     | 
| 
         @@ -18,7 +39,7 @@ Feature: route_to matcher 
     | 
|
| 
       18 
39 
     | 
    
         
             
                  end
         
     | 
| 
       19 
40 
     | 
    
         
             
                  """
         
     | 
| 
       20 
41 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
                When I run  
     | 
| 
      
 42 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
       22 
43 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       23 
44 
     | 
    
         | 
| 
       24 
45 
     | 
    
         
             
              Scenario: route spec for a route that doesn't exist (fails)
         
     | 
| 
         @@ -28,11 +49,10 @@ Feature: route_to matcher 
     | 
|
| 
       28 
49 
     | 
    
         | 
| 
       29 
50 
     | 
    
         
             
                  describe "routes for Widgets" do
         
     | 
| 
       30 
51 
     | 
    
         
             
                    it "routes /widgets/foo to the /foo action" do
         
     | 
| 
       31 
     | 
    
         
            -
                       
     | 
| 
       32 
     | 
    
         
            -
                        should route_to(:controller => "widgets", :action => "foo")
         
     | 
| 
      
 52 
     | 
    
         
            +
                      get("/widgets/foo").should route_to("widgets#foo")
         
     | 
| 
       33 
53 
     | 
    
         
             
                    end
         
     | 
| 
       34 
54 
     | 
    
         
             
                  end
         
     | 
| 
       35 
55 
     | 
    
         
             
                  """
         
     | 
| 
       36 
56 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
                When I run  
     | 
| 
       38 
     | 
    
         
            -
                Then the output should contain "1  
     | 
| 
      
 57 
     | 
    
         
            +
                When I run `rspec spec/routing/widgets_routing_spec.rb`
         
     | 
| 
      
 58 
     | 
    
         
            +
                Then the output should contain "1 failure"
         
     | 
    
        data/features/support/env.rb
    CHANGED
    
    | 
         @@ -1,20 +1,16 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'aruba'
         
     | 
| 
      
 1 
     | 
    
         
            +
            require 'aruba/cucumber'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'webrat'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            module  
     | 
| 
       5 
     | 
    
         
            -
               
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
              def run(cmd, fail_on_error=false)
         
     | 
| 
       8 
     | 
    
         
            -
                if cmd =~ /^rspec/
         
     | 
| 
       9 
     | 
    
         
            -
                  orig_run("bundle exec #{cmd}", fail_on_error)
         
     | 
| 
       10 
     | 
    
         
            -
                else
         
     | 
| 
       11 
     | 
    
         
            -
                  orig_run(cmd, fail_on_error)
         
     | 
| 
       12 
     | 
    
         
            -
                end
         
     | 
| 
      
 4 
     | 
    
         
            +
            module ArubaExt
         
     | 
| 
      
 5 
     | 
    
         
            +
              def run(cmd)
         
     | 
| 
      
 6 
     | 
    
         
            +
                super(cmd =~ /^rspec/ ? "bundle exec #{cmd}" : cmd)
         
     | 
| 
       13 
7 
     | 
    
         
             
              end
         
     | 
| 
       14 
8 
     | 
    
         
             
            end
         
     | 
| 
       15 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            World(ArubaExt)
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
       16 
12 
     | 
    
         
             
            Before do
         
     | 
| 
       17 
     | 
    
         
            -
               
     | 
| 
      
 13 
     | 
    
         
            +
              @aruba_timeout_seconds = 10
         
     | 
| 
       18 
14 
     | 
    
         
             
            end
         
     | 
| 
       19 
15 
     | 
    
         | 
| 
       20 
16 
     | 
    
         
             
            unless File.directory?('./tmp/example_app')
         
     | 
| 
         @@ -41,7 +37,6 @@ def copy(file_or_dir) 
     | 
|
| 
       41 
37 
     | 
    
         
             
              system "cp -r #{source} #{target}"
         
     | 
| 
       42 
38 
     | 
    
         
             
            end
         
     | 
| 
       43 
39 
     | 
    
         | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
40 
     | 
    
         
             
            Before do
         
     | 
| 
       46 
41 
     | 
    
         
             
              steps %Q{
         
     | 
| 
       47 
42 
     | 
    
         
             
                Given a directory named "spec"
         
     | 
| 
         @@ -56,10 +51,4 @@ Before do 
     | 
|
| 
       56 
51 
     | 
    
         
             
              ["spec/spec_helper.rb"].each do |file_or_dir|
         
     | 
| 
       57 
52 
     | 
    
         
             
                write_symlink("tmp/example_app/#{file_or_dir}")
         
     | 
| 
       58 
53 
     | 
    
         
             
              end
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
            end
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
            Around do |scenario, block|
         
     | 
| 
       63 
     | 
    
         
            -
              Bundler.with_clean_env &block
         
     | 
| 
       64 
54 
     | 
    
         
             
            end
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
         @@ -11,7 +11,7 @@ Feature: view spec infers controller path and action 
     | 
|
| 
       11 
11 
     | 
    
         
             
                    end
         
     | 
| 
       12 
12 
     | 
    
         
             
                  end
         
     | 
| 
       13 
13 
     | 
    
         
             
                  """
         
     | 
| 
       14 
     | 
    
         
            -
                When I run  
     | 
| 
      
 14 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       15 
15 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       16 
16 
     | 
    
         | 
| 
       17 
17 
     | 
    
         
             
              Scenario: infer action
         
     | 
| 
         @@ -25,7 +25,7 @@ Feature: view spec infers controller path and action 
     | 
|
| 
       25 
25 
     | 
    
         
             
                    end
         
     | 
| 
       26 
26 
     | 
    
         
             
                  end
         
     | 
| 
       27 
27 
     | 
    
         
             
                  """
         
     | 
| 
       28 
     | 
    
         
            -
                When I run  
     | 
| 
      
 28 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       29 
29 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
       31 
31 
     | 
    
         
             
              Scenario: do not infer action in a partial
         
     | 
| 
         @@ -39,6 +39,6 @@ Feature: view spec infers controller path and action 
     | 
|
| 
       39 
39 
     | 
    
         
             
                    end
         
     | 
| 
       40 
40 
     | 
    
         
             
                  end
         
     | 
| 
       41 
41 
     | 
    
         
             
                  """
         
     | 
| 
       42 
     | 
    
         
            -
                When I run  
     | 
| 
      
 42 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       43 
43 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       44 
44 
     | 
    
         | 
| 
         @@ -26,7 +26,7 @@ Feature: stub template 
     | 
|
| 
       26 
26 
     | 
    
         
             
                  """
         
     | 
| 
       27 
27 
     | 
    
         
             
                  <%= render :partial => "gadget", :collection => @gadgets %>
         
     | 
| 
       28 
28 
     | 
    
         
             
                  """
         
     | 
| 
       29 
     | 
    
         
            -
                When I run  
     | 
| 
      
 29 
     | 
    
         
            +
                When I run `rspec spec/views/gadgets/list.html.erb_spec.rb`
         
     | 
| 
       30 
30 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
32 
     | 
    
         
             
              Scenario: stub template that exists
         
     | 
| 
         @@ -46,6 +46,6 @@ Feature: stub template 
     | 
|
| 
       46 
46 
     | 
    
         
             
                    end
         
     | 
| 
       47 
47 
     | 
    
         
             
                  end
         
     | 
| 
       48 
48 
     | 
    
         
             
                  """
         
     | 
| 
       49 
     | 
    
         
            -
                When I run  
     | 
| 
      
 49 
     | 
    
         
            +
                When I run `rspec spec/views/gadgets/edit.html.erb_spec.rb`
         
     | 
| 
       50 
50 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
         @@ -21,7 +21,7 @@ Feature: view spec 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    end
         
     | 
| 
       22 
22 
     | 
    
         
             
                  end
         
     | 
| 
       23 
23 
     | 
    
         
             
                  """
         
     | 
| 
       24 
     | 
    
         
            -
                When I run  
     | 
| 
      
 24 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       25 
25 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
              Scenario: passing spec with before and nesting
         
     | 
| 
         @@ -48,7 +48,7 @@ Feature: view spec 
     | 
|
| 
       48 
48 
     | 
    
         
             
                    end
         
     | 
| 
       49 
49 
     | 
    
         
             
                  end
         
     | 
| 
       50 
50 
     | 
    
         
             
                  """
         
     | 
| 
       51 
     | 
    
         
            -
                When I run  
     | 
| 
      
 51 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       52 
52 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       53 
53 
     | 
    
         | 
| 
       54 
54 
     | 
    
         
             
              Scenario: passing spec with explicit template rendering
         
     | 
| 
         @@ -70,7 +70,7 @@ Feature: view spec 
     | 
|
| 
       70 
70 
     | 
    
         
             
                  """
         
     | 
| 
       71 
71 
     | 
    
         
             
                  <h2><%= @widget.name %></h2>
         
     | 
| 
       72 
72 
     | 
    
         
             
                  """
         
     | 
| 
       73 
     | 
    
         
            -
                When I run  
     | 
| 
      
 73 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       74 
74 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       75 
75 
     | 
    
         | 
| 
       76 
76 
     | 
    
         
             
              Scenario: passing spec with rendering of locals in a partial
         
     | 
| 
         @@ -92,7 +92,7 @@ Feature: view spec 
     | 
|
| 
       92 
92 
     | 
    
         
             
                  """
         
     | 
| 
       93 
93 
     | 
    
         
             
                  <h3><%= widget.name %></h3>
         
     | 
| 
       94 
94 
     | 
    
         
             
                  """
         
     | 
| 
       95 
     | 
    
         
            -
                When I run  
     | 
| 
      
 95 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       96 
96 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       97 
97 
     | 
    
         | 
| 
       98 
98 
     | 
    
         
             
              Scenario: passing spec with rendering of locals in an implicit partial
         
     | 
| 
         @@ -114,7 +114,7 @@ Feature: view spec 
     | 
|
| 
       114 
114 
     | 
    
         
             
                  """
         
     | 
| 
       115 
115 
     | 
    
         
             
                  <h3><%= widget.name %></h3>
         
     | 
| 
       116 
116 
     | 
    
         
             
                  """
         
     | 
| 
       117 
     | 
    
         
            -
                When I run  
     | 
| 
      
 117 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       118 
118 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       119 
119 
     | 
    
         | 
| 
       120 
120 
     | 
    
         
             
              Scenario: passing spec with rendering of text
         
     | 
| 
         @@ -131,7 +131,7 @@ Feature: view spec 
     | 
|
| 
       131 
131 
     | 
    
         
             
                    end
         
     | 
| 
       132 
132 
     | 
    
         
             
                  end
         
     | 
| 
       133 
133 
     | 
    
         
             
                  """
         
     | 
| 
       134 
     | 
    
         
            -
                When I run  
     | 
| 
      
 134 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       135 
135 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       136 
136 
     | 
    
         | 
| 
       137 
137 
     | 
    
         
             
              Scenario: passing spec with rendering of Prototype helper update
         
     | 
| 
         @@ -150,7 +150,7 @@ Feature: view spec 
     | 
|
| 
       150 
150 
     | 
    
         
             
                    end
         
     | 
| 
       151 
151 
     | 
    
         
             
                  end
         
     | 
| 
       152 
152 
     | 
    
         
             
                  """
         
     | 
| 
       153 
     | 
    
         
            -
                When I run  
     | 
| 
      
 153 
     | 
    
         
            +
                When I run `rspec spec/views`
         
     | 
| 
       154 
154 
     | 
    
         
             
                Then the examples should all pass
         
     | 
| 
       155 
155 
     | 
    
         | 
| 
       156 
156 
     | 
    
         
             
              Scenario: spec with view that accesses helper_method helpers
         
     | 
| 
         @@ -181,5 +181,5 @@ Feature: view spec 
     | 
|
| 
       181 
181 
     | 
    
         
             
                    end
         
     | 
| 
       182 
182 
     | 
    
         
             
                  end
         
     | 
| 
       183 
183 
     | 
    
         
             
                  """
         
     | 
| 
       184 
     | 
    
         
            -
                When I run  
     | 
| 
      
 184 
     | 
    
         
            +
                When I run `rspec spec/views/secrets`
         
     | 
| 
       185 
185 
     | 
    
         
             
                Then the examples should all pass
         
     |