Sha256: 87c77e86d5b02b33545a03d2c88e9a8db506275b12a39a71928d2580459f8448

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

require 'eac_cli/speaker'

RSpec.describe ::EacCli::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

5 entries across 5 versions & 2 rubygems

Version Path
avm-tools-0.101.0 vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb
avm-tools-0.100.0 vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb
ehbrs-tools-0.21.0 vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb
avm-tools-0.99.1 vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb
avm-tools-0.99.0 vendor/eac_cli/spec/lib/eac_cli/speaker_spec.rb