<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/spec/integration/dsl/caching.rb</filename>
    </added>
    <added>
      <filename>lib/spec/integration/extensions/action_controller/base.rb</filename>
    </added>
    <added>
      <filename>lib/spec/integration/extensions/action_controller/caching.rb</filename>
    </added>
    <added>
      <filename>lib/spec/integration/matchers/caching.rb</filename>
    </added>
    <added>
      <filename>spec/dsl/caching_spec.rb</filename>
    </added>
    <added>
      <filename>spec/matchers/caching_spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,4 @@
-Copyright (c) 2007, Adam Williams and John W. Long.
+Copyright (c) 2007-2009, Adam Williams and John W. Long.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the &quot;Software&quot;), to deal
@@ -16,4 +16,8 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
\ No newline at end of file
+SOFTWARE.
+
+
+Cache testing portions taken from http://github.com/avdgaag/rspec-caching-test-plugin
+Copyright (c) 2008 Arjan van der Gaag, released under the MIT license
\ No newline at end of file</diff>
      <filename>LICENSE</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 require 'spec'
 require 'spec/rails'
-require 'spec/integration/extensions'
+require 'spec/integration/extensions/action_controller/base'
+require 'spec/integration/extensions/action_controller/caching'
+require 'spec/integration/extensions/hash'
 require 'spec/integration/matchers'
 require 'spec/integration/dsl'
 require 'spec/integration/example/integration_example_group'
@@ -8,4 +10,6 @@ require 'spec/integration/example/integration_example_group'
 module Spec # :nodoc:
   module Integration # :nodoc:
   end
-end
\ No newline at end of file
+end
+
+ActionController::Base.cache_store = Spec::Integration::Extensions::ActionController::Caching::TestStore.new
\ No newline at end of file</diff>
      <filename>lib/spec/integration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,4 @@
+require 'spec/integration/dsl/caching'
 require 'spec/integration/dsl/navigation'
 require 'spec/integration/dsl/form'
 </diff>
      <filename>lib/spec/integration/dsl.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,9 @@ require File.dirname(__FILE__) + '/../spec_helper'
 
 describe &quot;submit_form&quot;, :type =&gt; :integration do
   it 'should submit the form' do
-    with_routing do |set|
-      set.draw do |map|
-        map.connect '/', :controller =&gt; 'integration_dsl', :action =&gt; 'form'
-        get '/'
-        submit_form :key =&gt; 'value'
-        response.should_not be_nil
-      end
-    end
+    get '/form'
+    submit_form :key =&gt; 'value'
+    response.should_not be_nil
   end
 end
 </diff>
      <filename>spec/dsl/form_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,14 +2,9 @@ require File.dirname(__FILE__) + '/../spec_helper'
 
 describe &quot;An integration spec&quot;, :type =&gt; :integration do
   it &quot;should provide all the normal integration support&quot; do
-    with_routing do |set|
-      set.draw do |map|
-        map.root :controller =&gt; 'integration_dsl'
-        get &quot;/&quot;
-        response.should_not be_nil
-        open_session.should_not == @integration_session
-      end
-    end
+    get &quot;/&quot;
+    response.should_not be_nil
+    open_session.should_not == @integration_session
     
     with_routing do |set|
       set.draw do |map|</diff>
      <filename>spec/dsl/integration_spec_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,13 +22,10 @@ end
 
 describe &quot;have_navigated_successfully&quot;, :type =&gt; :integration do
   it &quot;should report the exception in the failure message&quot; do
-    with_routing do |set|; set.draw do |map|
-      map.connect '/exploding', :controller =&gt; 'integration_dsl', :action =&gt; 'exploding'
-      get '/exploding'
-      lambda do
-        response.should have_navigated_successfully
-      end.should raise_error(Spec::Expectations::ExpectationNotMetError, /This will blow up!/)
-    end; end
+    get '/exploding'
+    lambda do
+      response.should have_navigated_successfully
+    end.should raise_error(Spec::Expectations::ExpectationNotMetError, /This will blow up!/)
   end
 end
 </diff>
      <filename>spec/dsl/navigation_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,15 @@
 class IntegrationDslController &lt; ApplicationController
+  caches_action :caching_action
+  
   def form
-    render :text =&gt; %{&lt;form action=&quot;/&quot; method=&quot;post&quot;&gt;&lt;input type='hidden' name='key' /&gt;&lt;/form&gt;}
+    render :text =&gt; %{&lt;form action=&quot;/form&quot; method=&quot;post&quot;&gt;&lt;input type='hidden' name='key' /&gt;&lt;/form&gt;}
   end
   
   def exploding
     raise &quot;This will blow up!&quot;
   end
+  
+  def caching_action
+    render :text =&gt; Time.now.to_s
+  end
 end
\ No newline at end of file</diff>
      <filename>spec/integration_dsl_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -14,4 +14,14 @@ require 'action_mailer'
 require 'rails/version'
 
 require 'spec/integration'
-require 'integration_dsl_controller'
\ No newline at end of file
+require 'integration_dsl_controller'
+
+ActionController::Routing::Routes.draw do |map|
+  map.with_options :controller =&gt; 'integration_dsl' do |dsl|
+    dsl.root
+    dsl.connect '/caching_action', :action =&gt; 'caching_action'
+    dsl.connect '/exploding',      :action =&gt; 'exploding'
+    dsl.connect '/form',           :action =&gt; 'form'
+  end
+end
+</diff>
      <filename>spec/spec_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lib/spec/integration/extensions.rb</filename>
    </removed>
    <removed>
      <filename>lib/spec/integration/extensions/action_controller.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>34f177eee7705d7e7a70ef8cddd7a3b1e89937a6</id>
    </parent>
  </parents>
  <author>
    <name>Adam Williams</name>
    <email>adam@thewilliams.ws</email>
  </author>
  <url>http://github.com/aiwilliams/spec_integration/commit/5a46ebd0d5a08ee1283b5b8c50f00a7d99478ac2</url>
  <id>5a46ebd0d5a08ee1283b5b8c50f00a7d99478ac2</id>
  <committed-date>2009-03-11T14:27:18-07:00</committed-date>
  <authored-date>2009-03-11T14:27:18-07:00</authored-date>
  <message>Action cache testing. See with_caching and cache_action.</message>
  <tree>0f45e6cef4911dc2f0cb10915ef8b9c46865b06b</tree>
  <committer>
    <name>Adam Williams</name>
    <email>adam@thewilliams.ws</email>
  </committer>
</commit>
