[rspec-users] Testing User Agent

Suprie Leonhart suprie.leonheart at gmail.com
Wed Feb 25 04:51:50 EST 2009


On Wed, Feb 25, 2009 at 4:19 PM, David Chelimsky <dchelimsky at gmail.com>wrote:

> On Wed, Feb 25, 2009 at 1:57 AM, Suprie Leonhart
> <suprie.leonheart at gmail.com> wrote:
> > hi
> >
> > i'm testing some lib i've made for detecting mobile user agent, I
> confused
> > how to test the lib i've made.
> > the test code is
> >
> > [code]
> >
> >   describe "Check if mobile browser" do
> >     it "should know if it's from blackberry" do
> >       blackberry_ua = "BlackBerry8330/4.3.0 Profile/MIDP-2.0
> > Configuration/CLDC-1.1 VendorID/105"
> >       request.env["HTTP_USER_AGENT"] = blackberry_ua
> >       is_mobile?.should == true
> >     end
> >   end
> >
> > [/code]
> >
> > the error is, request variable always nil
> >
> > the question : how i mock the request.env ?
>
> Since you're trying to test existing code, can you please post that code?
>

[code]
module Mobile
  def load_mobile_agent_file
    ma = File.read(RAILS_ROOT+"/config/mobile.yml")
    yaml = YAML.load(ma)
    return yaml
  end

  def mobile_user_agent?
    if request.env["HTTP_USER_AGENT"]
      user_agent  = request.env["HTTP_USER_AGENT"]
      mua         = load_mobile_agent_file
      mua["mobile_agent"].each do |key, value|
        unless(user_agent.match(Regexp.new(Regexp.escape(key))).nil?)
          return true
        end
      end
      return false
    end
  end
end
[/code]

-- 
--
Best Regards
Suprie
http://suprie.in.ruangkopi.com

"Mendapat upah karena menyenangkan orang lain yang tidak punya persangkutan
dengan kata hati sendiri, kan itu dalam seni namanya pelacuran?"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090225/3aacc4c4/attachment.html>


More information about the rspec-users mailing list