Sha256: e1675148f7270faef0e0b09f813fcd16264607f9a619bf148d74a0658ed60148

Contents?: true

Size: 1.22 KB

Versions: 17

Compression:

Stored size: 1.22 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
  end
end

# EOF

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
primedia-endeca-0.9.0 spec/core_ext_spec.rb
primedia-endeca-0.9.1 spec/core_ext_spec.rb
primedia-endeca-0.9.10 spec/core_ext_spec.rb
primedia-endeca-0.9.11 spec/core_ext_spec.rb
primedia-endeca-0.9.12 spec/core_ext_spec.rb
primedia-endeca-0.9.13 spec/core_ext_spec.rb
primedia-endeca-0.9.14 spec/core_ext_spec.rb
primedia-endeca-0.9.15 spec/core_ext_spec.rb
primedia-endeca-0.9.16 spec/core_ext_spec.rb
primedia-endeca-0.9.2 spec/core_ext_spec.rb
primedia-endeca-0.9.3 spec/core_ext_spec.rb
primedia-endeca-0.9.4 spec/core_ext_spec.rb
primedia-endeca-0.9.5 spec/core_ext_spec.rb
primedia-endeca-0.9.6 spec/core_ext_spec.rb
primedia-endeca-0.9.7 spec/core_ext_spec.rb
primedia-endeca-0.9.8 spec/core_ext_spec.rb
primedia-endeca-0.9.9 spec/core_ext_spec.rb