From 98230a58371879ff9c8de8bb19b1b675f02718ee Mon Sep 17 00:00:00 2001 From: Julian Russell Date: Sun, 1 Feb 2009 18:54:57 +0800 Subject: [PATCH] Moved character encoding test from core_extensions_spec.rb into hash_spec.rb and deleted now redundant core_extensions_spac.rb Signed-off-by: John Nunemaker --- spec/core_extensions_spec.rb | 30 ------------------------------ spec/hash_spec.rb | 5 +++++ 2 files changed, 5 insertions(+), 30 deletions(-) delete mode 100644 spec/core_extensions_spec.rb diff --git a/spec/core_extensions_spec.rb b/spec/core_extensions_spec.rb deleted file mode 100644 index 33fe3ff..0000000 --- a/spec/core_extensions_spec.rb +++ /dev/null @@ -1,30 +0,0 @@ -require File.join(File.dirname(__FILE__), 'spec_helper') - -describe "Core Extensions" do - describe Hash do - describe "#to_params" do - def should_be_same_params(query_string, expected) - query_string.split(/&/).sort.should == expected.split(/&/).sort - end - - it "should encode characters in URL parameters" do - {:q => "?&\" +"}.to_params.should == "q=%3F%26%22%20%2B" - end - - it "should handle multiple parameters" do - should_be_same_params({:q1 => "p1", :q2 => "p2"}.to_params, "q1=p1&q2=p2") - end - - it "should handle nested hashes like rails does" do - should_be_same_params({ - :name => "Bob", - :address => { - :street => '111 Ruby Ave.', - :city => 'Ruby Central', - :phones => ['111-111-1111', '222-222-2222'] - } - }.to_params, "name=Bob&address[city]=Ruby%20Central&address[phones][]=111-111-1111&address[phones][]=222-222-2222&address[street]=111%20Ruby%20Ave.") - end - end - end -end diff --git a/spec/hash_spec.rb b/spec/hash_spec.rb index 54079c9..4ad0e8d 100644 --- a/spec/hash_spec.rb +++ b/spec/hash_spec.rb @@ -41,4 +41,9 @@ describe Hash, 'to_params' do it 'should not leave a trailing &' do { :name => 'Bob', :address => { :street => '111 Ruby Ave.', :city => 'Ruby Central', :phones => ['111-111-1111', '222-222-2222'] } }.to_params.should_not match(/&$/) end + + it 'should URL encode unsafe characters' do + {:q => "?&\" +"}.to_params.should == "q=%3F%26%22%20%2B" + end + end \ No newline at end of file