Sha256: 5baf56db2fdbfe596de538fdae6aa9731974ef85d8ef6958f316e482a7283918

Contents?: true

Size: 907 Bytes

Versions: 2

Compression:

Stored size: 907 Bytes

Contents

require 'rib/test'
require 'rib/more/beep'

describe Rib::Beep do
  paste :rib

  before do
    Rib::Beep.enable
  end

  def verify delay, threshold=nil, &block
    shell(:started_at => Time.now - delay,
          :beep_threshold => threshold, &block)

    stub_output
    mock(shell).get_input{}

    shell.loop

    ok
  end

  def expect_beep sh
    mock(sh).print("\a"){}
  end

  def unexpect_beep sh
    stub(sh).print.with_any_args{ flunk }
  end

  describe 'beep' do
    would 'beep if loading too long' do
      verify(10, &method(:expect_beep))
    end

    would 'be configurable via beep_threshold' do
      verify(2, 1, &method(:expect_beep))
    end
  end

  describe 'not beep' do
    would 'not beep if not loading long' do
      verify(2, &method(:unexpect_beep))
    end

    would 'be configurable via beep_threshold' do
      verify(10, 15, &method(:unexpect_beep))
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rib-1.6.1 test/more/test_beep.rb
rib-1.6.0 test/more/test_beep.rb