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)