You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by as...@apache.org on 2008/05/29 01:01:57 UTC

svn commit: r661133 [2/3] - in /ode/sandbox/singleshot: app/models/ config/environments/ db/ db/migrate/ vendor/plugins/rspec-rails/ vendor/plugins/rspec-rails/generators/ vendor/plugins/rspec-rails/generators/rspec/ vendor/plugins/rspec-rails/generato...

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/generators/rspec_scaffold/templates/show_erb_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/generators/rspec_scaffold/templates/show_erb_spec.rb Wed May 28 16:01:50 2008
@@ -1,4 +1,4 @@
-require File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper'
+require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
 
 describe "/<%= table_name %>/show.<%= default_file_extension %>" do
   include <%= controller_class_name %>Helper

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/init.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/init.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/init.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/init.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/init.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/discover.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/autotest/discover.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/discover.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/discover.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/autotest/discover.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/autotest/rails_rspec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/autotest/rails_rspec.rb Wed May 28 16:01:50 2008
@@ -26,7 +26,7 @@
 require 'autotest/rspec'
 
 Autotest.add_hook :initialize do |at|
-  %w{^config/ ^coverage/ ^db/ ^doc/ ^log/ ^public/ ^script ^vendor/rails ^vendor/plugins previous_failures.txt}.each do |exception|
+  %w{config/ coverage/ db/ doc/ log/ public/ script/ tmp/ vendor/rails vendor/plugins previous_failures.txt}.each do |exception|
     at.add_exception(exception)
   end
   

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails.rb Wed May 28 16:01:50 2008
@@ -8,10 +8,11 @@
 
 require 'spec'
 
-require 'spec/rails/extensions'
+require 'spec/rails/matchers'
+require 'spec/rails/mocks'
 require 'spec/rails/example'
+require 'spec/rails/extensions'
 require 'spec/rails/version'
-require 'spec/rails/matchers'
 
 module Spec
   # = Spec::Rails

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example.rb Wed May 28 16:01:50 2008
@@ -1,6 +1,5 @@
 dir = File.dirname(__FILE__)
 
-require 'spec/rails/example/ivar_proxy'
 require 'spec/rails/example/assigns_hash_proxy'
 
 require "spec/rails/example/render_observer"

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/assigns_hash_proxy.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/assigns_hash_proxy.rb Wed May 28 16:01:50 2008
@@ -17,6 +17,7 @@
         end
 
         def []=(ivar, val)
+          @object.instance_variable_set "@#{ivar}", val
           assigns[ivar.to_s] = val
         end
 

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/controller_example_group.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/controller_example_group.rb Wed May 28 16:01:50 2008
@@ -72,12 +72,19 @@
           #
           # See Spec::Rails::Example::ControllerExampleGroup for more information about
           # Integration and Isolation modes.
-          def integrate_views
-            @integrate_views = true
+          def integrate_views(integrate_views = true)
+            @integrate_views = integrate_views
           end
+          
           def integrate_views? # :nodoc:
             @integrate_views
           end
+          
+          def inherited(klass) # :nodoc:
+            klass.controller_class_name = controller_class_name
+            klass.integrate_views(integrate_views?)
+            super
+          end
 
           # You MUST provide a controller_name within the context of
           # your controller specs:
@@ -106,7 +113,7 @@
             end
             EOE
           end
-          @controller.metaclass.class_eval do
+          (class << @controller; self; end).class_eval do
             def controller_path #:nodoc:
               self.class.name.underscore.gsub('_controller', '')
             end
@@ -150,8 +157,8 @@
         end
 
         protected
-        def _controller_ivar_proxy
-          @controller_ivar_proxy ||= AssignsHashProxy.new @controller
+        def _assigns_hash_proxy
+          @_assigns_hash_proxy ||= AssignsHashProxy.new @controller
         end
 
         private
@@ -162,18 +169,32 @@
         module ControllerInstanceMethods #:nodoc:
           include Spec::Rails::Example::RenderObserver
 
-          # === render(options = nil, deprecated_status = nil, &block)
+          # === render(options = nil, deprecated_status_or_extra_options = nil, &block)
           #
           # This gets added to the controller's singleton meta class,
           # allowing Controller Examples to run in two modes, freely switching
           # from context to context.
-          def render(options=nil, deprecated_status=nil, &block)
+          def render(options=nil, deprecated_status_or_extra_options=nil, &block)
+            if ::Rails::VERSION::STRING >= '2.0.0' && deprecated_status_or_extra_options.nil?
+              deprecated_status_or_extra_options = {}
+            end
+              
             unless block_given?
               unless integrate_views?
-                @template.metaclass.class_eval do
-                  define_method :file_exists? do
-                    true
+                if @template.respond_to?(:finder)
+                  (class << @template.finder; self; end).class_eval do
+                    define_method :file_exists? do
+                      true
+                    end
                   end
+                else
+                  (class << @template; self; end).class_eval do
+                    define_method :file_exists? do
+                      true
+                    end
+                  end
+                end
+                (class << @template; self; end).class_eval do
                   define_method :render_file do |*args|
                     @first_render ||= args[0]
                   end
@@ -186,48 +207,34 @@
               @performed_render = true
             else
               unless matching_stub_exists(options)
-                super(options, deprecated_status || {}, &block)
+                super(options, deprecated_status_or_extra_options, &block)
               end
             end
           end
           
-          private
-            def matching_message_expectation_exists(options)
-              expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_expectation, :render, options)
-            end
-          
-            def matching_stub_exists(options)
-              expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_method_stub, :render, options)
-            end
-          
-          public
-          if self.respond_to?(:should_receive) && self.respond_to?(:stub!)
-            self.send :alias_method, :orig_should_receive, :should_receive
-            self.send :alias_method, :orig_stub!, :stub!
-            def raise_with_disable_message(old_method, new_method)
-              raise %Q|
-        controller.#{old_method}(:render) has been disabled because it
-        can often produce unexpected results. Instead, you should
-        use the following (before the action):
-
-        controller.#{new_method}(*args)
-
-        See the rdoc for #{new_method} for more information.
-              |
-            end
-            def should_receive(*args)
-              if args[0] == :render
-                raise_with_disable_message("should_receive", "expect_render")
-              else
-                orig_should_receive(*args)
-              end
+          def raise_with_disable_message(old_method, new_method)
+            raise %Q|
+      controller.#{old_method}(:render) has been disabled because it
+      can often produce unexpected results. Instead, you should
+      use the following (before the action):
+
+      controller.#{new_method}(*args)
+
+      See the rdoc for #{new_method} for more information.
+            |
+          end
+          def should_receive(*args)
+            if args[0] == :render
+              raise_with_disable_message("should_receive", "expect_render")
+            else
+              super
             end
-            def stub!(*args)
-              if args[0] == :render
-                raise_with_disable_message("stub!", "stub_render")
-              else
-                orig_stub!(*args)
-              end
+          end
+          def stub!(*args)
+            if args[0] == :render
+              raise_with_disable_message("stub!", "stub_render")
+            else
+              super
             end
           end
 
@@ -246,6 +253,15 @@
           def integrate_views?
             @integrate_views
           end
+
+          def matching_message_expectation_exists(options)
+            expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_expectation, :render, options)
+          end
+        
+          def matching_stub_exists(options)
+            expect_render_mock_proxy.send(:__mock_proxy).send(:find_matching_method_stub, :render, options)
+          end
+        
         end
 
         Spec::Example::ExampleGroupFactory.register(:controller, self)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/functional_example_group.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/functional_example_group.rb Wed May 28 16:01:50 2008
@@ -11,9 +11,9 @@
           raise "Can't determine controller class for #{@controller_class_name}" if @controller_class.nil?
 
           @controller = @controller_class.new
-
           @request = ActionController::TestRequest.new
           @response = ActionController::TestResponse.new
+          @response.session = @request.session
         end
 
         def params
@@ -25,7 +25,7 @@
         end
 
         def session
-          request.session
+          @response.session
         end
 
         # :call-seq:
@@ -48,18 +48,11 @@
         #++
         def assigns(key = nil)
           if key.nil?
-            @controller.assigns
-            _controller_ivar_proxy
+            _assigns_hash_proxy
           else
-            @controller.assigns[key]
-            _controller_ivar_proxy[key]
+            _assigns_hash_proxy[key]
           end
         end
-
-        protected
-        def _controller_ivar_proxy
-          @controller_ivar_proxy ||= IvarProxy.new @controller
-        end
       end
     end
   end

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/helper_example_group.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,130 @@
+module Spec
+  module Rails
+    module Example
+      # Helper Specs live in $RAILS_ROOT/spec/helpers/.
+      #
+      # Helper Specs use Spec::Rails::Example::HelperExampleGroup, which allows you to
+      # include your Helper directly in the context and write specs directly
+      # against its methods.
+      #
+      # HelperExampleGroup also includes the standard lot of ActionView::Helpers in case your
+      # helpers rely on any of those.
+      #
+      # == Example
+      #
+      #   class ThingHelper
+      #     def number_of_things
+      #       Thing.count
+      #     end
+      #   end
+      #
+      #   describe "ThingHelper example_group" do
+      #     include ThingHelper
+      #     it "should tell you the number of things" do
+      #       Thing.should_receive(:count).and_return(37)
+      #       number_of_things.should == 37
+      #     end
+      #   end
+      class HelperExampleGroup < FunctionalExampleGroup
+        class HelperObject < ActionView::Base
+          def protect_against_forgery?
+            false
+          end
+        end
+        
+        class << self
+          # The helper name....
+          def helper_name(name=nil)
+            @helper_being_described = "#{name}_helper".camelize.constantize
+            send :include, @helper_being_described
+          end
+          
+          def helper
+            @helper_object ||= returning HelperObject.new do |helper_object|
+              if @helper_being_described.nil?
+                if described_type.class == Module
+                  helper_object.extend described_type
+                end
+              else
+                helper_object.extend @helper_being_described
+              end
+            end
+          end
+        end
+        
+        # Returns an instance of ActionView::Base with the helper being spec'd
+        # included.
+        #
+        # == Example
+        #
+        #   describe PersonHelper do
+        #     it "should write a link to person with the name" do
+        #       assigns[:person] = mock_model(Person, :full_name => "Full Name", :id => 37, :new_record? => false)
+        #       helper.link_to_person.should == %{<a href="/people/37">Full Name</a>}
+        #     end
+        #   end
+        #
+        #   module PersonHelper
+        #     def link_to_person
+        #       link_to person.full_name, url_for(person)
+        #     end
+        #   end
+        #
+        def helper
+          self.class.helper
+        end
+
+        # Reverse the load order so that custom helpers which are defined last
+        # are also loaded last.
+        ActionView::Base.included_modules.reverse.each do |mod|
+          include mod if mod.parents.include?(ActionView::Helpers)
+        end
+
+        before(:all) do
+          @controller_class_name = 'Spec::Rails::Example::HelperBehaviourController'
+        end
+
+        before(:each) do
+          @controller.request = @request
+          @controller.url = ActionController::UrlRewriter.new @request, {} # url_for
+
+          @flash = ActionController::Flash::FlashHash.new
+          session['flash'] = @flash
+
+          ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
+        end
+
+        def flash
+          @flash
+        end
+
+        def eval_erb(text)
+          helper.instance_eval do
+            ERB.new(text).result(binding)
+          end
+        end
+
+        # TODO: BT - Helper Examples should proxy method_missing to a Rails View instance.
+        # When that is done, remove this method
+        def protect_against_forgery?
+          false
+        end
+
+        Spec::Example::ExampleGroupFactory.register(:helper, self)
+
+        protected
+        def _assigns_hash_proxy
+          @_assigns_hash_proxy ||= AssignsHashProxy.new helper
+        end
+
+      end
+
+      class HelperBehaviourController < ApplicationController #:nodoc:
+        attr_accessor :request, :url
+
+        # Re-raise errors
+        def rescue_action(e); raise e; end
+      end
+    end
+  end
+end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/model_example_group.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/model_example_group.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/model_example_group.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/rails_example_group.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,25 @@
+require 'spec/interop/test'
+
+module Spec
+  module Rails
+
+    module Example
+      class RailsExampleGroup < Test::Unit::TestCase
+        
+        # Rails >= r8570 uses setup/teardown_fixtures explicitly
+        before(:each) do
+          setup_fixtures if self.respond_to?(:setup_fixtures)
+        end
+        after(:each) do
+          teardown_fixtures if self.respond_to?(:teardown_fixtures)
+        end
+        
+        include Spec::Rails::Matchers
+        include Spec::Rails::Mocks
+        
+        Spec::Example::ExampleGroupFactory.default(self)
+        
+      end
+    end
+  end
+end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/render_observer.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/render_observer.rb Wed May 28 16:01:50 2008
@@ -1,4 +1,4 @@
-require 'spec/mocks'
+require 'spec/mocks/framework'
 
 module Spec
   module Rails

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/example/view_example_group.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/example/view_example_group.rb Wed May 28 16:01:50 2008
@@ -72,7 +72,7 @@
               return options[render_type]
             end
           end
-          raise Exception.new("Unhandled render type in view spec.")
+          return ""
         end
 
         def add_helpers(options) #:nodoc:
@@ -83,7 +83,8 @@
         end
 
         # Renders a template for a View Spec, which then provides access to the result
-        # through the +response+.
+        # through the +response+. Also supports render with :inline, which you can
+        # use to spec custom form builders, helpers, etc, in the context of a view.
         #
         # == Examples
         #
@@ -91,6 +92,7 @@
         #   render('/people/list', :helper => MyHelper)
         #   render('/people/list', :helpers => [MyHelper, MyOtherHelper])
         #   render(:partial => '/people/_address')
+        #   render(:inline => "<% custom_helper 'argument', 'another argument' %>")
         #
         # See Spec::Rails::Example::ViewExampleGroup for more information.
         def render(*args)
@@ -110,7 +112,7 @@
           defaults = { :layout => false }
           options = defaults.merge options
 
-          @controller.instance_variable_set :@params, @request.parameters
+          @controller.send(:params).reverse_merge! @request.parameters
 
           @controller.send :initialize_current_url
 
@@ -145,6 +147,11 @@
         end
 
         Spec::Example::ExampleGroupFactory.register(:view, self)
+
+        protected
+        def _assigns_hash_proxy
+          @_assigns_hash_proxy ||= AssignsHashProxy.new @controller
+        end
       end
 
       class ViewExampleGroupController < ApplicationController #:nodoc:
@@ -161,7 +168,7 @@
           rescue
             return
           end
-          template.metaclass.class_eval do
+          (class << template; self; end).class_eval do
             include helper_module
           end
         end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/base.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Propchange: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/base.rb
------------------------------------------------------------------------------
    svn:executable = *

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/rescue.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/rescue.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_controller/test_response.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_controller/test_response.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/action_view/base.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/action_view/base.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/active_record/base.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/active_record/base.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/object.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/object.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/example/configuration.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb Wed May 28 16:01:50 2008
@@ -1,5 +1,5 @@
 require 'spec/example/configuration'
-
+begin
 module Spec
   module Example
     class Configuration
@@ -64,3 +64,8 @@
     end
   end
 end
+rescue Exception => e
+  puts e.message
+  puts e.backtrace
+  raise e
+end
\ No newline at end of file

Propchange: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/example/configuration.rb
------------------------------------------------------------------------------
    svn:executable = *

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/extensions/spec/matchers/have.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/extensions/spec/matchers/have.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers.rb Wed May 28 16:01:50 2008
@@ -1,6 +1,7 @@
 dir = File.dirname(__FILE__)
 require 'spec/rails/matchers/assert_select'
 require 'spec/rails/matchers/have_text'
+require 'spec/rails/matchers/include_text'
 require 'spec/rails/matchers/redirect_to'
 require 'spec/rails/matchers/render_template'
 

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/assert_select.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/assert_select.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/have_text.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/have_text.rb Wed May 28 16:01:50 2008
@@ -39,9 +39,11 @@
       # Accepts a String or a Regexp, matching a String using ==
       # and a Regexp using =~.
       #
+      # If response_or_text has a #body, then that is used as to match against
+      # else it uses response_or_text
+      #
       # Use this instead of <tt>response.should have_tag()</tt>
-      # when you either don't know or don't care where on the page
-      # this text appears.
+      # when you want to match the whole string or whole body
       #
       # == Examples
       #

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/include_text.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,54 @@
+module Spec
+  module Rails
+    module Matchers
+
+      class IncludeText  #:nodoc:
+
+        def initialize(expected)
+          @expected = expected
+        end
+
+        def matches?(response_or_text)
+          @actual = response_or_text.respond_to?(:body) ? response_or_text.body : response_or_text
+          return actual.include?(expected)
+        end
+
+        def failure_message
+          "expected to find #{expected.inspect} in #{actual.inspect}"
+        end
+
+        def negative_failure_message
+          "expected not to include text #{expected.inspect}"
+        end
+
+        def to_s
+          "include text #{expected.inspect}"
+        end
+
+        private
+          attr_reader :expected
+          attr_reader :actual
+
+      end
+
+
+      # :call-seq:
+      #   response.should include_text(expected)
+      #   response.should_not include_text(expected)
+      #
+      # Accepts a String, matching using include?
+      #
+      # Use this instead of <tt>response.should have_text()</tt>
+      # when you either don't know or don't care where on the page
+      # this text appears.
+      #
+      # == Examples
+      #
+      #   response.should include_text("This text will be in the actual string")
+      def include_text(text)
+        IncludeText.new(text)
+      end
+
+    end
+  end
+end
\ No newline at end of file

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/redirect_to.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/redirect_to.rb Wed May 28 16:01:50 2008
@@ -39,7 +39,7 @@
         end
 
         def path_hash(url)
-          path = url.sub(%r{^\w+://#{@request.host}}, "").split("?", 2)[0]
+          path = url.sub(%r{^\w+://#{@request.host}(?::\d+)?}, "").split("?", 2)[0]
           ActionController::Routing::Routes.recognize_path path
         end
 

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/matchers/render_template.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/matchers/render_template.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/mocks.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,115 @@
+module Spec
+  module Rails
+
+    class IllegalDataAccessException < StandardError; end
+
+    module Mocks
+      
+      # Creates a mock object instance for a +model_class+ with common
+      # methods stubbed out. Additional methods may be easily stubbed (via
+      # add_stubs) if +stubs+ is passed.
+      def mock_model(model_class, options_and_stubs = {})
+        id = next_id
+        options_and_stubs.reverse_merge!({
+          :id => id,
+          :to_param => id.to_s,
+          :new_record? => false,
+          :errors => stub("errors", :count => 0)
+        })
+        m = mock("#{model_class.name}_#{options_and_stubs[:id]}", options_and_stubs)
+        m.send(:__mock_proxy).instance_eval <<-CODE
+          def @target.is_a?(other)
+            #{model_class}.ancestors.include?(other)
+          end
+          def @target.kind_of?(other)
+            #{model_class}.ancestors.include?(other)
+          end
+          def @target.instance_of?(other)
+            other == #{model_class}
+          end
+          def @target.class
+            #{model_class}
+          end
+        CODE
+        yield m if block_given?
+        m
+      end
+
+      # :call-seq:
+      #   stub_model(Model)
+      #   stub_model(Model).as_new_record
+      #   stub_model(Model, hash_of_stubs)
+      #
+      # Creates an instance of +Model+ that is prohibited from accessing the
+      # database. For each key in +hash_of_stubs+, if the model has a
+      # matching attribute (determined by asking it, which it answers based
+      # on schema.rb) are simply assigned the submitted values. If the model
+      # does not have a matching attribute, the key/value pair is assigned
+      # as a stub return value using RSpec's mocking/stubbing framework.
+      #
+      # new_record? is overridden to return the result of id.nil? This means
+      # that by default new_record? will return false. If  you want the
+      # object to behave as a new record, sending it +as_new_record+ will
+      # set the id to nil. You can also explicitly set :id => nil, in which
+      # case new_record? will return true, but using +as_new_record+ makes
+      # the example a bit more descriptive.
+      #
+      # While you can use stub_model in any example (model, view,
+      # controller, helper), it is especially useful in view examples,
+      # which are inherently more state-based than interaction-based.
+      #
+      # == Examples
+      #
+      #   stub_model(Person)
+      #   stub_model(Person).as_new_record
+      #   stub_model(Person, :id => 37)
+      #   stub_model(Person) do |person|
+      #     model.first_name = "David"
+      #   end
+      def stub_model(model_class, stubs = {})
+        stubs = {:id => next_id}.merge(stubs)
+        returning model_class.new do |model|
+          model.id = stubs.delete(:id)
+          (class << model; self; end).class_eval do
+            def connection
+              raise Spec::Rails::IllegalDataAccessException.new("stubbed models are not allowed to access the database")
+            end
+            def new_record?
+              id.nil?
+            end
+            def as_new_record
+              self.id = nil
+              self
+            end
+          end
+          stubs.each do |k,v|
+            if model.has_attribute?(k)
+              model[k] = stubs.delete(k)
+            end
+          end
+          add_stubs(model, stubs)
+          yield model if block_given?
+        end
+      end
+      
+      #--
+      # TODO - Shouldn't this just be an extension of stub! ??
+      # - object.stub!(:method => return_value, :method2 => return_value2, :etc => etc)
+      #++
+      # Stubs methods on +object+ (if +object+ is a symbol or string a new mock
+      # with that name will be created). +stubs+ is a Hash of <tt>method=>value</tt>
+      def add_stubs(object, stubs = {}) #:nodoc:
+        m = [String, Symbol].index(object.class) ? mock(object.to_s) : object
+        stubs.each {|k,v| m.stub!(k).and_return(v)}
+        m
+      end
+
+      private
+        @@model_id = 1000
+        def next_id
+          @@model_id += 1
+        end
+
+    end
+  end
+end
\ No newline at end of file

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/story_adapter.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/story_adapter.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/version.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/version.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/version.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/lib/spec/rails/version.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/lib/spec/rails/version.rb Wed May 28 16:01:50 2008
@@ -1,11 +1,11 @@
 module Spec
   module Rails
     module VERSION #:nodoc:
-      BUILD_TIME_UTC = 20080131122909
+      BUILD_TIME_UTC = 20080527061058
     end
   end
 end
-
+=begin
 # Verify that the plugin has the same revision as RSpec
 if Spec::Rails::VERSION::BUILD_TIME_UTC != Spec::VERSION::BUILD_TIME_UTC
   raise <<-EOF
@@ -21,3 +21,4 @@
 ############################################################################
 EOF
 end
+=end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/mappings_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/autotest/mappings_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/rails_rspec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/rails_rspec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/autotest/rails_rspec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/autotest/rails_rspec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/assigns_hash_proxy_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/assigns_hash_proxy_spec.rb Wed May 28 16:01:50 2008
@@ -1,6 +1,6 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
 
-describe "An AssignsHashProxy" do
+describe "AssignsHashProxy" do
   before(:each) do
     @object = Object.new
     @assigns = Hash.new
@@ -52,4 +52,9 @@
     @proxy.has_key?('foo').should == true
     @proxy.has_key?('bar').should == false
   end
+  
+  it "should sets an instance var" do
+    @proxy['foo'] = 'bar'
+    @object.instance_eval { @foo }.should == 'bar'
+  end
 end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/configuration_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/configuration_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/configuration_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_isolation_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_isolation_spec.rb Wed May 28 16:01:50 2008
@@ -32,7 +32,8 @@
   end
 
   it "should choke if the template doesn't exist" do
-    lambda { get 'some_action' }.should raise_error(ActionController::MissingTemplate)
+    error = defined?(ActionController::MissingTemplate) ? ActionController::MissingTemplate : ActionView::MissingTemplate    
+    lambda { get 'some_action' }.should raise_error(error)
     response.should_not be_success
   end
 
@@ -40,4 +41,22 @@
     lambda { get 'action_with_errors_in_template' }.should raise_error(ActionView::TemplateError)
     response.should_not be_success
   end
+  
+  describe "nested" do
+    it "should render a template" do
+      get 'action_with_template'
+      response.should be_success
+      response.should have_tag('div', 'This is action_with_template.rhtml')
+    end
+    
+    describe "with integrate_views turned off" do
+      integrate_views false
+      
+      it "should not care if the template doesn't exist" do
+        get 'some_action'
+        response.should be_success
+        response.should render_template("template/that/does/not/actually/exist")
+      end
+    end
+  end
 end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/controller_spec_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/controller_spec_spec.rb Wed May 28 16:01:50 2008
@@ -17,6 +17,12 @@
       session.should equal(session_before)
     end
   
+    it "should keep the same data in the session before and after the action" do
+      session[:foo] = :bar
+      get 'action_with_template'
+      session[:foo].should == :bar
+    end
+  
     it "should ensure controller.session is NOT nil before the action" do
       controller.session.should_not be_nil
       get 'action_with_template'
@@ -52,7 +58,6 @@
       controller.expect_render(:update).and_yield(template)
       template.should_receive(:replace).with(:bottom, "replace_me", :partial => "non_existent_partial")
       get 'action_with_render_update'
-      puts response.body
     end
     
     it "should allow a path relative to RAILS_ROOT/app/views/ when specifying a partial" do
@@ -61,7 +66,7 @@
     end
     
     it "should provide access to flash" do
-      get 'action_with_template'
+      get 'action_which_sets_flash'
       flash[:flash_key].should == "flash value"
     end
     
@@ -76,8 +81,10 @@
     end
 
     it "should provide access to session" do
-      get 'action_with_template'
-      session[:session_key].should == "session value"
+      session[:session_key] = "session value"
+      lambda do
+        get 'action_which_gets_session', :expected => "session value"
+      end.should_not raise_error
     end
 
     it "should support custom routes" do
@@ -113,6 +120,7 @@
     end
 
     it "should complain when calling stub!(:render) on the controller" do
+      controller.extend Spec::Mocks::Methods
       lambda {
         controller.stub!(:render)
       }.should raise_error(RuntimeError, /stub!\(:render\) has been disabled/)
@@ -169,6 +177,17 @@
   end  
 end
 
+describe "A controller spec with controller_name set", :type => :controller do
+  controller_name :controller_spec
+  
+  describe "nested" do
+    it "should inherit the controller name" do
+      get 'action_with_template'
+      response.should be_success
+    end
+  end
+end
+
 module Spec
   module Rails
     module Example

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/example_group_factory_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/example_group_factory_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/example_group_factory_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/helper_spec_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb Wed May 28 16:01:50 2008
@@ -2,8 +2,11 @@
 Spec::Runner.configuration.global_fixtures = :people
 
 describe ExplicitHelper, :type => :helper do
+  include ExplicitHelper
+  
   it "should not require naming the helper if describe is passed a type" do
     method_in_explicit_helper.should match(/text from a method/)
+    helper.method_in_explicit_helper.should match(/text from a method/)
   end
 end
 
@@ -13,17 +16,22 @@
       describe HelperExampleGroup, :type => :helper do
         helper_name :explicit
 
-        it "should have direct access to methods defined in helpers" do
+        it "DEPRECATED should have direct access to methods defined in helpers" do
           method_in_explicit_helper.should =~ /text from a method/
         end
 
+        it "should expose the helper with the #helper method" do
+          helper.method_in_explicit_helper.should =~ /text from a method/
+        end
+
         it "should have access to named routes" do
           rspec_on_rails_specs_url.should == "http://test.host/rspec_on_rails_specs"
           rspec_on_rails_specs_path.should == "/rspec_on_rails_specs"
         end
 
         it "should fail if the helper method deson't exist" do
-          lambda { non_existant_helper_method }.should raise_error(NameError)
+          lambda { non_existent_helper_method }.should raise_error(NameError)
+          lambda { helper.non_existent_helper_method }.should raise_error(NameError)
         end
       end
 
@@ -50,6 +58,13 @@
           lachie.class.should == Person
         end
       end
+      
+      describe "methods from standard helpers", :type => :helper do
+        helper_name :explicit
+        it "should be exposed to the helper" do
+          helper.link_to("Foo","http://bar").should have_tag("a")
+        end
+      end
 
       describe HelperExampleGroup, "included modules", :type => :helper do
         helpers = [
@@ -74,9 +89,10 @@
         helpers << ActionView::Helpers::PaginationHelper rescue nil       #removed for 2.0
         helpers << ActionView::Helpers::JavaScriptMacrosHelper rescue nil #removed for 2.0
         helpers.each do |helper_module|
-          it "should include #{helper_module}" do
-            self.class.ancestors.should include(helper_module)
-          end
+          # it "should include #{helper_module}" do
+          #   self.class.ancestors.should include(helper_module)
+          #   helper.class.ancestors.should include(helper_module)
+          # end
         end
       end
       
@@ -85,6 +101,7 @@
       describe HelperExampleGroup, "#protect_against_forgery?", :type => :helper do
         it "should return false" do
           protect_against_forgery?.should be_false
+          helper.protect_against_forgery?.should be_false
         end
       end
     end
@@ -115,4 +132,4 @@
       end
     end
   end
-end
\ No newline at end of file
+end

Propchange: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/helper_spec_spec.rb
------------------------------------------------------------------------------
    svn:executable = *

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/model_spec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/model_spec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/model_spec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/shared_behaviour_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Propchange: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/shared_behaviour_spec.rb
------------------------------------------------------------------------------
    svn:executable = *

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/test_unit_assertion_accessibility_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/example/view_spec_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/example/view_spec_spec.rb Wed May 28 16:01:50 2008
@@ -208,6 +208,14 @@
   it "should have access to flash data" do
     response.should have_tag("div#flash", "flash")
   end
+
+  it "should have a controller param" do
+    response.should have_tag("div#controller", "view_spec")
+  end
+  
+  it "should have an action param" do
+    response.should have_tag("div#action", "accessor")
+  end
 end
 
 describe "A view with a form_tag", :type => :view do
@@ -231,6 +239,13 @@
   end
 end
 
+describe "render :inline => ...", :type => :view do
+  it "should render ERB right in the spec" do
+    render :inline => %|<%= text_field_tag('field_name', 'Value') %>|
+    response.should have_tag("input[type=?][name=?][value=?]","text","field_name","Value")
+  end
+end
+
 module Spec
   module Rails
     module Example
@@ -245,17 +260,11 @@
         end
 
         it "should clear ActionView::Base.base_view_path on teardown" do
-          ViewExampleGroup.class_eval do
-            alias_method(:ensure_that_base_view_path_is_not_set_across_example_groups_orig,
-              :ensure_that_base_view_path_is_not_set_across_example_groups)
-            define_method(:ensure_that_base_view_path_is_not_set_across_example_groups){
-              $base_view_path_cleared = true
-              ensure_that_base_view_path_is_not_set_across_example_groups_orig
-            }
-          end
-          describe("base_view_path_cleared flag", :type => :view) do
-            it { $base_view_path_cleared.should be_true }
-          end
+          group = describe("base_view_path_cleared flag", :type => :view) {}
+          example = group.it{}
+          
+          ActionView::Base.should_receive(:base_view_path=).with(nil)
+          group.run_after_each(example)
         end
       end
     end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_controller_rescue_action_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_controller_rescue_action_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/action_view_base_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/action_view_base_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/extensions/active_record_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/extensions/active_record_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/assert_select_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/assert_select_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/description_generation_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/description_generation_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/errors_on_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/errors_on_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/have_text_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/have_text_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/include_text_spec.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,70 @@
+require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
+
+describe "include_text" do
+
+  describe "where target is a String" do
+    it 'should match submitted text using a string' do
+      string = 'foo'
+      string.should include_text('foo')
+    end
+
+    it 'should match if the text is contained' do
+      string = 'I am a big piece of text'
+      string.should include_text('big piece')
+    end
+
+    it 'should not match if text is not contained' do
+      string = 'I am a big piece of text'
+      string.should_not include_text('corey')
+    end
+  end
+
+end
+
+describe "include_text", :type => :controller do
+  ['isolation','integration'].each do |mode|
+    if mode == 'integration'
+      integrate_views
+    end
+
+    describe "where target is a response (in #{mode} mode)" do
+      controller_name :render_spec
+
+      it "should pass with exactly matching text" do
+        post 'text_action'
+        response.should include_text("this is the text for this action")
+      end
+
+      it 'should pass with substring matching text' do
+        post 'text_action'
+        response.should include_text('text for this')
+      end
+
+      it "should fail with matching text" do
+        post 'text_action'
+        lambda {
+          response.should include_text("this is NOT the text for this action")
+        }.should fail_with("expected to find \"this is NOT the text for this action\" in \"this is the text for this action\"")
+      end
+
+      it "should fail when a template is rendered" do
+        post 'some_action'
+        failure_message = case mode
+        when 'isolation'
+          /expected to find \"this is the text for this action\" in \"render_spec\/some_action\"/
+        when 'integration'
+          /expected to find \"this is the text for this action\" in \"\"/
+        end
+        lambda {
+          response.should include_text("this is the text for this action")
+        }.should fail_with(failure_message)
+      end
+
+      it "should pass using should_not with incorrect text" do
+        post 'text_action'
+        response.should_not include_text("the accordian guy")
+      end
+    end
+  end
+end
+

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/redirect_to_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/redirect_to_spec.rb Wed May 28 16:01:50 2008
@@ -21,6 +21,12 @@
       get 'action_with_redirect_to_somewhere_and_return'
       response.should redirect_to(:action => 'somewhere')
     end
+    
+    it "redirected from an SSL action to a non-SSL action" do
+      request.stub!(:ssl?).and_return true
+      get 'action_with_redirect_to_somewhere'
+      response.should redirect_to(:action => 'somewhere')
+    end
   
     it "redirected to correct path with leading /" do
       get 'action_with_redirect_to_somewhere'

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/render_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/render_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/matchers/render_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/matchers/render_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/ar_classes.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,10 @@
+class MockableModel < ActiveRecord::Base
+  has_one :associated_model
+end
+
+class SubMockableModel < MockableModel
+end
+
+class AssociatedModel < ActiveRecord::Base
+  belongs_to :mockable_model
+end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/mocks/mock_model_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/mock_model_spec.rb Wed May 28 16:01:50 2008
@@ -1,17 +1,7 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
+require File.dirname(__FILE__) + '/ar_classes'
 
-class MockableModel < ActiveRecord::Base
-  has_one :associated_model
-end
-
-class SubMockableModel < MockableModel
-end
-
-class AssociatedModel < ActiveRecord::Base
-  belongs_to :mockable_model
-end
-
-describe "mock_model", :type => :view do
+describe "mock_model" do
   before(:each) do
     @model = mock_model(SubMockableModel)
   end
@@ -35,6 +25,15 @@
   end
 end
 
+describe "mock_model with stubbed id", :type => :view do
+  before(:each) do
+    @model = mock_model(MockableModel, :id => 1)
+  end
+  it "should be named using the stubbed id value" do
+    @model.instance_variable_get(:@name).should == "MockableModel_1"
+  end
+end
+
 describe "mock_model with null_object", :type => :view do
   before(:each) do
     @model = mock_model(MockableModel, :null_object => true, :mocked_method => "mocked")

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/mocks/stub_model_spec.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,78 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+require File.dirname(__FILE__) + '/ar_classes'
+
+describe "stub_model" do
+  describe "defaults" do
+    it "should have an id" do
+      stub_model(MockableModel).id.should be > 0
+    end
+  
+    it "should say it is not a new record" do
+      stub_model(MockableModel).should_not be_new_record
+    end
+  end
+  
+  it "should accept a stub id" do
+    stub_model(MockableModel, :id => 37).id.should == 37
+  end
+  
+  it "should say it is a new record when id is set to nil" do
+    stub_model(MockableModel, :id => nil).should be_new_record
+  end
+  
+  it "should accept any arbitrary stub" do
+    stub_model(MockableModel, :foo => "bar").foo.should == "bar"
+  end
+  
+  it "should accept a stub for save" do
+    stub_model(MockableModel, :save => false).save.should be(false)
+  end
+  
+  describe "#as_new_record" do
+    it "should say it is a new record" do
+      stub_model(MockableModel).as_new_record.should be_new_record
+    end
+
+    it "should have a nil id" do
+      stub_model(MockableModel).as_new_record.id.should be(nil)
+    end
+  end
+  
+  it "should raise when hitting the db" do
+    lambda do
+      stub_model(MockableModel).save
+    end.should raise_error(Spec::Rails::IllegalDataAccessException, /stubbed models are not allowed to access the database/)
+  end
+  
+  it "should increment the id" do
+    first = stub_model(MockableModel)
+    second = stub_model(MockableModel)
+    second.id.should == (first.id + 1)
+  end
+  
+end
+
+describe "stub_model as association" do
+  before(:each) do
+    @real = AssociatedModel.create!
+    @stub_model = stub_model(MockableModel)
+    @real.mockable_model = @stub_model
+  end
+  
+  it "should pass associated_model == mock" do
+      @stub_model.should == @real.mockable_model
+  end
+
+  it "should pass mock == associated_model" do
+      @real.mockable_model.should == @stub_model
+  end
+end
+
+describe "stub_model with a block" do
+  it "should yield the model" do
+    model = stub_model(MockableModel) do |block_arg|
+      @block_arg = block_arg
+    end
+    model.should be(@block_arg)
+  end
+end

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_modified_fixture.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,8 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe "A sample spec", :type => :model do
+  fixtures :animals
+  it "should pass" do
+    animals(:pig).name.should == "Piggy"
+  end
+end
\ No newline at end of file

Added: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb?rev=661133&view=auto
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb (added)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/sample_spec.rb Wed May 28 16:01:50 2008
@@ -0,0 +1,8 @@
+require File.dirname(__FILE__) + '/../spec_helper'
+
+describe "A sample spec", :type => :model do
+  fixtures :animals
+  it "should pass" do
+    animals(:pig).name.should == "Pig"
+  end
+end
\ No newline at end of file

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/spec_server_spec.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_server_spec.rb Wed May 28 16:01:50 2008
@@ -2,12 +2,24 @@
 
 describe "script/spec_server file", :shared => true do
   attr_accessor :tmbundle_install_directory
+  attr_reader :animals_yml_path, :original_animals_content
+
+  before do
+    @animals_yml_path = File.expand_path("#{RAILS_ROOT}/spec/fixtures/animals.yml")
+    @original_animals_content = File.read(animals_yml_path)
+  end
 
   after do
-    system "kill -9 #{@pid}"
+    File.open(animals_yml_path, "w") do |f|
+      f.write original_animals_content
+    end
   end
 
-  it "runs a spec" do
+  after(:each) do
+    system "lsof -i tcp:8989 | sed /COMMAND/d | awk '{print $2}' | xargs kill"
+  end
+
+  xit "runs a spec" do
     dir = File.dirname(__FILE__)
     output = ""
     Timeout.timeout(10) do
@@ -17,54 +29,49 @@
       end
     end
 
-    unless $?.exitstatus == 0
+    if $?.exitstatus != 0 || output !~ /0 failures/
       flunk "command 'script/spec spec/sample_spec' failed\n#{output}"
     end
-  end
 
-  def start_spec_server
-    create_spec_server_pid_file
-    start_spec_server_process
-  end
+    fixtures = YAML.load(@original_animals_content)
+    fixtures['pig']['name'] = "Piggy"
+
+    File.open(animals_yml_path, "w") do |f|
+      f.write YAML.dump(fixtures)
+    end
+
+    Timeout.timeout(10) do
+      loop do
+        output = `#{RAILS_ROOT}/script/spec #{dir}/sample_modified_fixture.rb --drb 2>&1`
+        break unless output.include?("No server is running")
+      end
+    end
 
-  def create_spec_server_pid_file
-    current_dir = File.dirname(__FILE__)
-    pid_dir = "#{Dir.tmpdir}/#{Time.now.to_i}"
-    @spec_server_pid_file = "#{pid_dir}/spec_server.pid"
-    FileUtils.mkdir_p pid_dir
-    system "touch #{@spec_server_pid_file}"
-    @rspec_path = File.expand_path("#{current_dir}/../../../rspec/lib")
+    if $?.exitstatus != 0 || output !~ /0 failures/
+      flunk "command 'script/spec spec/sample_modified_fixture' failed\n#{output}"
+    end
   end
 
-  def start_spec_server_process
+  def start_spec_server
     dir = File.dirname(__FILE__)
-    spec_server_cmd =  %Q|export HOME=#{Dir.tmpdir}; |
-    spec_server_cmd << %Q|ruby -e 'system("echo " + Process.pid.to_s + " > #{@spec_server_pid_file}"); |
-    spec_server_cmd << %Q|$LOAD_PATH.unshift("#{@rspec_path}"); require "spec"; |
-    spec_server_cmd << %Q|load "#{RAILS_ROOT}/script/spec_server"' &|
-    system spec_server_cmd
+    Thread.start do
+      system "cd #{RAILS_ROOT}; script/spec_server"
+    end
 
     file_content = ""
-    Timeout.timeout(5) do
-      loop do
-        file_content = File.read(@spec_server_pid_file)
-        break unless file_content.blank?
-      end
-    end
-    @pid = Integer(File.read(@spec_server_pid_file))
   end
 end
 
 describe "script/spec_server file without TextMate bundle" do
   it_should_behave_like "script/spec_server file"
-  before do
+  before(:each) do
     start_spec_server
   end
 end
 
 describe "script/spec_server file with TextMate bundle" do
   it_should_behave_like "script/spec_server file"
-  before do
+  before(:each) do
     dir = File.dirname(__FILE__)
     @tmbundle_install_directory = File.expand_path("#{Dir.tmpdir}/Library/Application Support/TextMate/Bundles")
     @bundle_name = "RSpec.tmbundle"
@@ -77,7 +84,7 @@
     start_spec_server
   end
 
-  after do
+  after(:each) do
     bundle_file_to_remove = "#{tmbundle_install_directory}/#{@bundle_name}"
     if bundle_file_to_remove == "/"
       raise "bundle file path resolved to '/' - could not call rm"

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails/spec_spec.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails/spec_spec.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails_suite.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails_suite.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails_suite.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/rails_suite.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/rails_suite.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/spec_helper.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/spec_helper.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/spec_helper.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec/spec_helper.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec/spec_helper.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/action_view_base_spec_controller.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/action_view_base_spec_controller.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/action_view_base_spec_controller.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/action_view_base_spec_controller.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
--- ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/controller_spec_controller.rb (original)
+++ ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/controller_spec_controller.rb Wed May 28 16:01:50 2008
@@ -10,11 +10,23 @@
   end
   
   def action_with_template
-    session[:session_key] = "session value"
-    flash[:flash_key] = "flash value"
     render :template => "controller_spec/action_with_template"
   end
   
+  def action_which_sets_flash
+    flash[:flash_key] = "flash value"
+    render :text => ""
+  end
+  
+  def action_which_gets_session
+    raise "expected #{params[:session_key].inspect}\ngot #{session[:session_key].inspect}" unless (session[:session_key] == params[:expected])
+    render :text => ""
+  end
+  
+  def action_which_sets_session
+    session[:session_key] = "session value"
+  end
+      
   def action_with_partial
     render :partial => "controller_spec/partial"
   end

Copied: ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb (from r660675, ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb)
URL: http://svn.apache.org/viewvc/ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb?p2=ode/sandbox/singleshot/vendor/plugins/rspec-rails/spec_resources/controllers/redirect_spec_controller.rb&p1=ode/sandbox/singleshot/vendor/plugins/rspec_on_rails/spec_resources/controllers/redirect_spec_controller.rb&r1=660675&r2=661133&rev=661133&view=diff
==============================================================================
    (empty)