Chore: RuboCop Style/MultipleComparison (#923)

This commit is contained in:
Ted Johansson 2019-03-12 04:59:09 +08:00 committed by Mattia
parent 224dd98ebe
commit 88698363fd
4 changed files with 26 additions and 6 deletions

View File

@ -47,8 +47,3 @@ Style/Documentation:
- 'lib/faraday/response/logger.rb'
- 'lib/faraday/response/raise_error.rb'
- 'lib/faraday/utils.rb'
# Offense count: 1
Style/MultipleComparison:
Exclude:
- 'lib/faraday/encoders/flat_params_encoder.rb'

View File

@ -29,7 +29,6 @@ module Faraday
buffer = +''
params.each do |key, value|
encoded_key = escape(key)
value = value.to_s if value == true || value == false
if value.nil?
buffer << "#{encoded_key}&"
elsif value.is_a?(Array)

View File

@ -10,4 +10,20 @@ RSpec.describe Faraday::FlatParamsEncoder do
expected = { 'a' => %w[one two three] }
expect(subject.decode(query)).to eq(expected)
end
it 'decodes boolean values' do
query = 'a=true&b=false'
expected = { 'a' => 'true', 'b' => 'false' }
expect(subject.decode(query)).to eq(expected)
end
it 'encodes boolean values' do
params = { a: true, b: false }
expect(subject.encode(params)).to eq('a=true&b=false')
end
it 'encodes boolean values in array' do
params = { a: [true, false] }
expect(subject.encode(params)).to eq('a=true&a=false')
end
end

View File

@ -84,6 +84,16 @@ RSpec.describe Faraday::NestedParamsEncoder do
expect(result).to eq(expected)
end
it 'encodes boolean values' do
params = { a: true, b: false }
expect(subject.encode(params)).to eq('a=true&b=false')
end
it 'encodes boolean values in array' do
params = { a: [true, false] }
expect(subject.encode(params)).to eq('a%5B%5D=true&a%5B%5D=false')
end
shared_examples 'a wrong decoding' do
it do
expect { subject.decode(query) }.to raise_error(TypeError) do |e|