Sha256: 2616aa72a7878615196080c2982e387e5bfe61f86f7ee4413c825c4a6ad3cc84

Contents?: true

Size: 1.31 KB

Versions: 6

Compression:

Stored size: 1.31 KB

Contents

require File.join(File.dirname(__FILE__), %w[spec_helper])

describe Array do
  describe "#to_params" do
    it "should join the elements with ampersand" do
      ["foo=1","bar=3"].to_params.should == "foo=1&bar=3"
    end

    it "should escape all elements" do
      ['|=|','||=||'].to_params.should == '%7C=%7C&%7C%7C=%7C%7C'
    end
  end
end

describe Hash do
  describe "#to_params" do
    it "should join a key-value pair with equals" do
      {:foo => :bar}.to_params.should == 'foo=bar'
    end

    it "should join two key-value pairs with ampersand" do
      result = {:foo => :bar, :bizz => :bazz}.to_params
      (result == 'foo=bar&bizz=bazz' || result == 'bizz=bazz&foo=bar').should be_true
    end

    it "should use brackets to indicate a nested hash" do
      {:foo => {:foo => :bar}}.to_params.should == 'foo[foo]=bar'
    end

    it "should escape all elements" do
      {'|' => '||'}.to_params.should == '%7C=%7C%7C'
    end
  end
end

describe NilClass do
  describe "to_params" do
    it "should return the empty string" do
      nil.to_params.should == ''
    end
  end
end

describe String do
  describe "#to_params" do
    it "should URI escape the contents" do
      '|'.to_params.should == '%7C'
    end
    
    it "should URI escape a colon" do
      ':'.to_params.should == "%3A"
    end
  end
end

# EOF

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
primedia-endeca-0.9.17 spec/core_ext_spec.rb
primedia-endeca-0.9.18 spec/core_ext_spec.rb
primedia-endeca-0.9.19 spec/core_ext_spec.rb
primedia-endeca-0.9.20 spec/core_ext_spec.rb
primedia-endeca-0.9.21 spec/core_ext_spec.rb
primedia-endeca-0.9.22 spec/core_ext_spec.rb