<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -25,7 +25,7 @@ module Spec
         end
 
         def session
-          @response.session
+          response.session
         end
 
         # :call-seq:</diff>
      <filename>lib/spec/rails/example/functional_example_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -30,6 +30,29 @@ module Spec
           def protect_against_forgery?
             false
           end
+          
+          def session=(session)
+            @session = session
+          end
+          
+          def request=(request)
+            @request = request
+          end
+          
+          def flash=(flash)
+            @flash = flash
+          end
+          
+          def params=(params)
+            @params = params
+          end
+          
+          def controller=(controller)
+            @controller = controller
+          end
+          
+          private
+            attr_reader :session, :request, :flash, :params, :controller
         end
         
         class &lt;&lt; self
@@ -81,7 +104,7 @@ module Spec
         end
 
         before(:all) do
-          @controller_class_name = 'Spec::Rails::Example::HelperBehaviourController'
+          @controller_class_name = 'Spec::Rails::Example::HelperExampleGroupController'
         end
 
         before(:each) do
@@ -93,8 +116,11 @@ module Spec
 
           ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
           
-          helper_controller = @controller
-          helper.instance_eval { @controller = helper_controller }
+          helper.session = session
+          helper.request = @request
+          helper.flash = flash
+          helper.params = params
+          helper.controller = @controller
         end
 
         def flash
@@ -122,7 +148,7 @@ module Spec
 
       end
 
-      class HelperBehaviourController &lt; ApplicationController #:nodoc:
+      class HelperExampleGroupController &lt; ApplicationController #:nodoc:
         attr_accessor :request, :url
 
         # Re-raise errors</diff>
      <filename>lib/spec/rails/example/helper_example_group.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,6 +36,30 @@ module Spec
           lambda { non_existent_helper_method }.should raise_error(NameError)
           lambda { helper.non_existent_helper_method }.should raise_error(NameError)
         end
+
+        it &quot;should have access to session&quot; do
+          session[:foo] = 'bar'
+          session_foo.should == 'bar'
+          helper.session_foo.should == 'bar'
+        end
+        
+        it &quot;should have access to params&quot; do
+          params[:foo] = 'bar'
+          params_foo.should == 'bar'
+          helper.params_foo.should == 'bar'
+        end
+        
+        it &quot;should have access to request&quot; do
+          request.stub!(:thing).and_return('bar')
+          request_thing.should == 'bar'
+          helper.request_thing.should == 'bar'
+        end
+        
+        it &quot;should have access to flash&quot; do
+          flash[:thing] = 'camera'
+          flash_thing.should == 'camera'
+          helper.flash_thing.should == 'camera'
+        end
       end
 
 </diff>
      <filename>spec/rails/example/helper_spec_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,4 +15,20 @@ module ExplicitHelper
   def named_path
     rspec_on_rails_specs_path
   end
+  
+  def params_foo
+    params[:foo]
+  end
+  
+  def session_foo
+    session[:foo]
+  end
+  
+  def request_thing
+    request.thing
+  end
+  
+  def flash_thing
+    flash[:thing]
+  end
 end</diff>
      <filename>spec_resources/helpers/explicit_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a46a78d752a68814851db5111dfa957886ef9da8</id>
    </parent>
  </parents>
  <author>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </author>
  <url>http://github.com/dchelimsky/rspec-rails/commit/40a0916325dbe9a1631849146d078e330fca71f2</url>
  <id>40a0916325dbe9a1631849146d078e330fca71f2</id>
  <committed-date>2008-06-10T22:33:36-07:00</committed-date>
  <authored-date>2008-06-10T22:33:36-07:00</authored-date>
  <message>give helper object access to session, request, params, flash</message>
  <tree>71665014fcb9e7080081b4c3d960f2bea0154ba8</tree>
  <committer>
    <name>David Chelimsky</name>
    <email>dchelimsky@gmail.com</email>
  </committer>
</commit>
