On Wed, Feb 25, 2009 at 3:51 AM, Suprie Leonhart <suprie.leonhe...@gmail.com> wrote: > > > On Wed, Feb 25, 2009 at 4:19 PM, David Chelimsky <dchelim...@gmail.com> > wrote: >> >> On Wed, Feb 25, 2009 at 1:57 AM, Suprie Leonhart >> <suprie.leonhe...@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
Off topic, but this could be a one liner with no temporary variables, and load_file will take care of opening and reading the file for you: def load_mobile_agent_file YAML.load_file(RAILS_ROOT+"/config/mobile.yml") 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] Thanks - so I'm wondering where is_mobile? came from. Also, are you trying to do this in a controller spec or a helper spec? Where is the spec file located? > > -- > -- > 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?" > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users