Language Selector: Prevent duplicate locale=
keys
This commit is contained in:
@ -86,7 +86,7 @@ module AuthenticatedUrlHelper
|
|||||||
parsed_url = URI.parse url
|
parsed_url = URI.parse url
|
||||||
|
|
||||||
# Add the given parameters to the query string
|
# Add the given parameters to the query string
|
||||||
query_params = CGI.parse(parsed_url.query || '')
|
query_params = CGI.parse(parsed_url.query || '').with_indifferent_access
|
||||||
query_params.merge!(parameters)
|
query_params.merge!(parameters)
|
||||||
|
|
||||||
# Add the query string back to the URL
|
# Add the query string back to the URL
|
||||||
|
15
spec/helpers/authenticated_url_helper_spec.rb
Normal file
15
spec/helpers/authenticated_url_helper_spec.rb
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe AuthenticatedUrlHelper do
|
||||||
|
describe '#add_query_parameters' do
|
||||||
|
it 'adds the given parameters to the given url' do
|
||||||
|
expect(described_class.add_query_parameters(root_url, {foo: 'bar'})).to eq(root_url(foo: 'bar'))
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'does not duplicate existing parameters' do
|
||||||
|
expect(described_class.add_query_parameters(root_url(foo: 'bar'), {foo: 'baz'})).to eq(root_url(foo: 'baz'))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Reference in New Issue
Block a user