How to test a plugin with an around_filter?

Hello,

Does anybody know how to test a plugin module that looks like the one below? It's designed to be included by a controller, typically the application controller.

My specific questions are:

- Can I get at my do_before and do_after methods from a unit test to probe them individually?
- How can I set up a fake request into which I can stuff various values for the HTTP_REFERER header?
- How can I then get an appropriate fake reponse?

Also, is using a class variable the correct way to hold my_data?

module MyModule

   @@my_data = []
   @@my_data << %w( foo bar baz )

   def self.included(controller)
     controller.around_filter :my_method
   end

   protected

   def my_method
     do_before
     yield
     do_after
   end

   private

   def do_before
     unless request.env['HTTP_REFERER'].blank?
       # do stuff, using my @@data
     end
   end

   def do_after
     # do stuff with response.body
   end

end

I have tried mangling a functional test and also looked at various plugins from the usual suspects[1-3] but the penny still hasn't dropped.

[1] http://svn.techno-weenie.net/projects/plugins/
[2] http://dev.rubyonrails.org/svn/rails/plugins/
[3] http://topfunky.net/svn/plugins/

Thanks and regards,
Andy Stewart