OSDN Git Service

add rspec-rails
[praisedb/praisedb.git] / vendor / plugins / rspec-rails / spec / resources / controllers / controller_spec_controller.rb
1 class ControllerSpecController < ActionController::Base
2   before_filter :raise_error, :only => :action_with_skipped_before_filter
3   
4   def raise_error
5     raise "from a before filter"
6   end
7   
8   skip_before_filter :raise_error
9
10   prepend_view_path File.join(File.dirname(__FILE__), "..", "views")
11   
12   def some_action
13     render :template => "template/that/does/not/actually/exist"
14   end
15   
16   def some_action_with_implied_template
17   end
18   
19   def action_with_template
20     render :template => "controller_spec/action_with_template"
21   end
22   
23   def action_which_sets_flash
24     flash[:flash_key] = "flash value"
25     render :text => ""
26   end
27   
28   def action_which_gets_session
29     raise "expected #{params[:session_key].inspect}\ngot #{session[:session_key].inspect}" unless (session[:session_key] == params[:expected])
30     render :text => ""
31   end
32   
33   def action_which_sets_session
34     session[:session_key] = "session value"
35   end
36       
37   def action_which_gets_cookie
38     raise "expected #{params[:expected].inspect}, got #{cookies[:cookie_key].inspect}" unless (cookies[:cookie_key] == params[:expected])
39     render :text => ""
40   end
41       
42   def action_which_sets_cookie
43     cookies['cookie_key'] = params[:value]
44     render :text => ""
45   end
46       
47   def action_with_partial
48     render :partial => "controller_spec/partial"
49   end
50   
51   def action_with_partial_with_object
52     render :partial => "controller_spec/partial", :object => params[:thing]
53   end
54   
55   def action_with_partial_with_locals
56     render :partial => "controller_spec/partial", :locals => {:thing => params[:thing]}
57   end
58   
59   def action_with_errors_in_template
60     render :template => "controller_spec/action_with_errors_in_template"
61   end
62
63   def action_setting_the_assigns_hash
64     @indirect_assigns_key = :indirect_assigns_key_value
65   end
66   
67   def action_setting_flash_after_session_reset
68     reset_session
69     flash[:after_reset] = "available"
70   end
71   
72   def action_setting_flash_before_session_reset
73     flash[:before_reset] = 'available'
74     reset_session
75   end
76   
77   def action_with_render_update
78     render :update do |page|
79       page.replace :bottom, 'replace_me',
80                             :partial => 'non_existent_partial'
81     end
82   end
83   
84   def action_with_skipped_before_filter
85     render :text => ""
86   end
87   
88   def action_that_renders_inline
89     render :inline => "<%= 'inline code' %>"
90   end
91   
92   def action_that_assigns_false_to_a_variable
93     @a_variable = false
94     render :text => ""
95   end
96   
97   def action_with_two_arg_render
98     render :update, :status => 404 do |page|
99       page.visual_effect :highlight, 'user_list'
100     end
101   end
102   
103   class RescuedError < Exception; end
104   class UnRescuedError < Exception; end
105   
106   rescue_from RescuedError do |e|
107     render :text => 'Rescued!'
108   end
109
110   def rescued_error_action
111     raise ControllerSpecController::RescuedError
112   end
113
114   def un_rescued_error_action
115     raise ControllerSpecController::UnRescuedError
116   end
117   
118   def action_that_returns_headers
119     render :text => request.headers[params[:header]]
120   end
121 end
122
123 class ControllerInheritingFromApplicationControllerController < ApplicationController
124   def action_with_inherited_before_filter
125     render :text => ""
126   end
127 end