On Wed, Mar 12, 2008 at 3:54 PM, James B. Byrne <[EMAIL PROTECTED]> wrote:
> This is perhaps a naive question, but what is the recommended manner of
>  testing a helper method in rspec?

You just describe the helper module and call the helper method like
you'd do in the views:

require File.dirname(__FILE__) + '/../spec_helper'

describe ApplicationHelper do
  describe "breadcrumbs" do
    describe "when breadcrumbs empty" do
      it "should show nothing" do
        breadcrumbs.should == ""
      end
    end
  end
end

  I have created a simple string manipulation
>  function and I want to write some tests for it.  It it were a script then I
>  would just add if __FILE__ == $0 and add the tests below that but I do not
>  feel that this is the best way to handle a rails helper.
>
>  The code (I said it was simple) :
>
>  module ApplicationHelper
>
>   # keycase strips leading spaces, squeezes out extra whitespace
>   # between words, downshifts all and then capitalizes the first
>   # character of each word.
>   #
>   # This method prepares descriptive strings that are used
>   # as indices for lookups.  To preserve common initialisms insert
>   # periods between letters.  Thus:
>   #   IBM => Ibm but I.B.M. => I.B.M.
>   #
>   # Do not use ! methods as they return nil under certain circumstances
>   #
>   def keycase(value)
>     value = value.to_s.strip.squeeze(" ").downcase.gsub(/\b\w/){$&.upcase}
>   end
>
>  end

Something like this:

require File.dirname(__FILE__) + '/../spec_helper'

describe ApplicationHelper do
  describe "keycase" do
    describe "when no dots" do
      before(:each) do
        @value = "IBM"
      end

      it "should convert to lowercase" do
        keycase(@value).should == "Ibm"
      end
    end
  end
end

And so on.

//jarkko


-- 
Jarkko Laine
http://jlaine.net
http://odesign.fi
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to