On Tue, May 24, 2011 at 10:34 PM, Paul P. <[email protected]> wrote:
> John,
>
> I know this is quite old, but I wanted to apply your same example in
> Rspec 2. I'm getting the following when I attempt to do so.
>
> application_helper.rb
> ===========================
> module ApplicationHelper
>
> # Return a title on a per-page basis.
> def title(page_title)
> content_for(:title) { page_title }
> end
>
> end
>
> application_helper_spec.rb
> ===========================
> require 'spec_helper'
>
> describe ApplicationHelper do
>
> describe "#title" do
> it "should pass through page title to tile variable" do
> self.should_receive(:content_for).with(:title, "funtitle")
> title "funtitle"
> end
> end
>
> end
>
>
> Results
> ==========================
>
> 1) ApplicationHelper#title should pass through page title to tile
> variable
> Failure/Error: title "funtitle"
> #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0xb0b4fb8>
> received :content_for with unexpected arguments
> expected: (:title, "funtitle")
> got: (:title)
> # ./app/helpers/application_helper.rb:5:in `title'
> # ./spec/helpers/application_helper_spec.rb:9:in `block (3 levels)
> in <top (required)>'
>
> Can you see anything I'm doing wrong?
>
> Thanks,
> Paul
>
> --
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
You actually want to use the "helper" method in helper specs. It is an
instance of ActionView::Base with the described helper module mixed in. Try
this:
helper.should_receive(:content_for).with(:title, "funtitle")
helper.title "funtitle"
More info:
http://relishapp.com/rspec/rspec-rails/v/2-6/dir/helper-specs/helper-spec
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users