Sha256: 8092bee286e041b5bcf9f2fd3eb6c4f5cb52d640a4b36baa84ffc5b0a7b10594

Contents?: true

Size: 1.41 KB

Versions: 3

Compression:

Stored size: 1.41 KB

Contents

require 'helper'

class CoreTests < Test::Unit::TestCase
  # For the purpose of testing, we will assume we are working within a POSIX
  # environment.
  def setup
    @exp = Expectr.new("ls /dev", flush_buffer: false, timeout: 1,
                       buffer_size: 4096)
  end

  def test_object_consistency
    assert_equal(false, @exp.flush_buffer)
    assert_equal(1, @exp.timeout)
    assert_equal(4096, @exp.buffer_size)
    assert_equal(false, @exp.force_match)
  end

  # POSIX specifies /dev/console, /dev/null and /dev/tty must exist.
  def test_match_sets_discard
    assert_not_equal(nil, @exp.expect(/null/))
    assert_not_equal('', @exp.discard)
  end

  def test_match_failure
    @exp.force_match = true
    assert_nothing_raised { @exp.expect(/ThisFileShouldNotExist/, true) }
    assert_nothing_raised { @exp.expect(/null/) }

    @exp.force_match = false
    assert_raises(Timeout::Error) { @exp.expect(/ThisFileShouldNotExist/) }
    assert_raises(Timeout::Error) { @exp.expect(/tty/) }
  end

  def test_clear_buffer
    sleep 1
    assert_not_equal(@exp.buffer, '')
    @exp.clear_buffer!
    assert_equal('', @exp.buffer)
  end

  def test_garbage_output
    @exp = Expectr.new("dd if=/dev/urandom bs=1024 count=1",
                       flush_buffer:false, timeout: 1, buffer_size: 1024)
    assert_nothing_raised { @exp.expect(/probablyNotThere/, true) }
  end

  def test_pid_set
    assert @exp.pid > 0
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
expectr-1.1.0 test/test_core.rb
expectr-1.0.3 test/test_core.rb
expectr-1.0.2 test/test_core.rb