Hi all, I've written an expectation for a method that converts a hash into a url string of name/value pairs. The problem is that the hash is not traversed in the same order as it is defined so I can not work out how to test for the correct returned string. The operation of the code does not require and specific order so I am not going to add a specific order to my method.
# test def mappings_data { :shell => true, :ftp => 10, :sql => 11, :email => 12, :subdomains => 13, :parkeddomains => 14, :addondomains => 15, :transfer => 16 } end it "should map arguments to a url" do @whm.map_args_to_url(mappings_data).should eql("?shell=true&ftp=10&sql=11&email=12&subdomains=13&parkeddomains=14&addondomains=15&transfer=16") end # implementation def map_args_to_url(args={}) '?' + args.map { |k,v| "%s=%s" % [URI.encode(k.to_s), URI.encode(v.to_s)] }.join('&') unless args.blank? end # string that is returned "?parkeddomains=14&shell=true&email=12&addondomains=15&ftp=10&subdomains=13&transfer=16&sql=11" _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users