Sha256: f5a51fabfc676ccdd91614ce7acc136c83742ace572b51eaa94341b25c86c69e

Contents?: true

Size: 2 KB

Versions: 7

Compression:

Stored size: 2 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
require 'rbbt/util/cmd'
require 'test/unit'

class TestCmd < Test::Unit::TestCase

  def test_cmd_option_string
    assert_equal("--user-agent firefox", CMD.process_cmd_options("--user-agent" => "firefox"))
    assert_equal("--user-agent=firefox", CMD.process_cmd_options("--user-agent=" => "firefox"))
    assert_equal("-q", CMD.process_cmd_options("-q" => true))
    assert_equal("", CMD.process_cmd_options("-q" => nil))
    assert_equal("", CMD.process_cmd_options("-q" => false))

    assert(CMD.process_cmd_options("--user-agent" => "firefox", "-q" => true) =~ /--user-agent firefox/)
    assert(CMD.process_cmd_options("--user-agent" => "firefox", "-q" => true) =~ /-q/)
  end

  def test_cmd
    assert_equal("test\n", CMD.cmd("echo '{opt}' test").read)
    assert_equal("test", CMD.cmd("echo '{opt}' test", "-n" => true).read)
    assert_equal("test2\n", CMD.cmd("cut", "-f" => 2, "-d" => '" "', :in => "test1 test2").read)
  end

  def test_pipe
    assert_equal("test\n", CMD.cmd("echo '{opt}' test", :pipe => true).read)
    assert_equal("test", CMD.cmd("echo '{opt}' test", "-n" => true, :pipe => true).read)
    assert_equal("test2\n", CMD.cmd("cut", "-f" => 2, "-d" => '" "', :in => "test1 test2", :pipe => true).read)
  end

  def test_error
    assert_raise CMD::CMDError do CMD.cmd('fake-command') end
    assert_raise CMD::CMDError do CMD.cmd('ls -fake_option') end

    assert_raise CMD::CMDError do CMD.cmd('fake-command', :stderr => true) end
    assert_raise CMD::CMDError do CMD.cmd('ls -fake_option', :stderr => true) end
 
    assert_nothing_raised CMD::CMDError do CMD.cmd('fake-command', :stderr => false, :pipe => true) end
    assert_nothing_raised CMD::CMDError do CMD.cmd('ls -fake_option', :stderr => false, :pipe => true) end
 
    assert_raise CMD::CMDError do CMD.cmd('fake-command', :stderr => true, :pipe => true).read end
    assert_raise CMD::CMDError do CMD.cmd('ls -fake_option', :stderr => true, :pipe => true).read end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rbbt-util-3.1.0 test/rbbt/util/test_cmd.rb
rbbt-util-3.0.3 test/rbbt/util/test_cmd.rb
rbbt-util-3.0.2 test/rbbt/util/test_cmd.rb
rbbt-util-2.1.0 test/rbbt/util/test_cmd.rb
rbbt-util-2.0.1 test/rbbt/util/test_cmd.rb
rbbt-util-1.2.1 test/rbbt/util/test_cmd.rb
rbbt-util-1.1.0 test/rbbt/util/test_cmd.rb