Sha256: 55458d292a1aa9c4550bd7b1713ad43eb8fdac0732a09335bbdaa7774a3fe6e0

Contents?: true

Size: 1.1 KB

Versions: 87

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/console/speaker'

RSpec.describe ::EacRubyUtils::Console::Speaker do
  let(:instance) do
    r = ::Object.new
    r.extend(described_class)
    r
  end

  describe '#request_input' do
    it 'recover value from hash list' do
      allow(instance).to receive(:request_string).and_return('opt1')
      list = { opt1: 'value1', opt2: 'value2' }
      expect(instance.request_input('Question', list: list)).to eq('value1')
    end

    it 'recover value from array list' do
      allow(instance).to receive(:request_string).and_return('OPT1')
      list = %w[opt1 opt2]
      expect(instance.request_input('Question', list: list)).to eq('opt1')
    end

    {
      'yes' => true, 'y' => true, 'Y' => true, 'NO' => false, 'no' => false, 'n' => false
    }.each do |input, expected|
      context "when bool: true and input is \"#{input}\"" do
        it "return #{expected}" do
          allow(instance).to receive(:request_string).and_return(input)
          expect(instance.request_input('Question', bool: true)).to eq(expected)
        end
      end
    end
  end
end

Version data entries

87 entries across 87 versions & 2 rubygems

Version Path
avm-tools-0.98.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.97.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.96.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.95.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.94.3 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.94.2 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.94.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
ehbrs-tools-0.20.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.94.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.93.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.92.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.91.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.90.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.89.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.88.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.87.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
ehbrs-tools-0.19.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
ehbrs-tools-0.18.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
avm-tools-0.87.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb
ehbrs-tools-0.17.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/speaker_spec.rb