--- a/spec/facter/facter_spec.rb +++ b/spec/facter/facter_spec.rb @@ -598,7 +598,12 @@ describe Facter do context 'when exception and message are hashes' do let(:message) { { 'a': 1 } } let(:exception) { { 'b': 2 } } - let(:expected_message) { '{:a=>1}' } + # https://bugs.ruby-lang.org/issues/20433 + if RUBY_VERSION >= '3.4' + let(:expected_message) { '{a: 1}' } + else + let(:expected_message) { '{:a=>1}' } + end it_behaves_like 'when exception param is not an exception' end @@ -682,7 +687,12 @@ describe Facter do context 'when exception and message are hashes' do let(:message) { { 'a': 1 } } let(:exception) { { 'b': 2 } } - let(:expected_message) { '{:a=>1}' } + # https://bugs.ruby-lang.org/issues/20433 + if RUBY_VERSION >= '3.4' + let(:expected_message) { '{a: 1}' } + else + let(:expected_message) { '{:a=>1}' } + end it_behaves_like 'when exception param is not an exception' end @@ -808,7 +818,12 @@ describe Facter do end it 'when message is a hash' do - expect(logger).to receive(:warn).with('{:warn=>"message"}') + # https://bugs.ruby-lang.org/issues/20433 + if RUBY_VERSION >= '3.4' + expect(logger).to receive(:warn).with('{warn: "message"}') + else + expect(logger).to receive(:warn).with('{:warn=>"message"}') + end Facter.warn({ warn: 'message' }) end