Sha256: 3df59c13f802bbfb3bda63a8fa4e3adda344ad7d95ded9929e92c826ed10fe29

Contents?: true

Size: 1.81 KB

Versions: 11

Compression:

Stored size: 1.81 KB

Contents

require File.join(File.dirname(__FILE__), "test_cli_helper.rb")
require 'rbkb/cli/slice'

class TestCliSlice < Test::Unit::TestCase
  include CliTest

  def setup
    @cli_class = Rbkb::Cli::Slice
    super()
    @rawdat = (0..255).map {|x| x.chr}.join
    @stdin_io.write(@rawdat) ; @stdin_io.rewind
  end

  def test_stdin 
    assert_equal 0, go_with_args(%w{0})
    assert_equal @rawdat, @stdout_io.string
  end

  def test_start_from_end_negative_size
    assert_equal 0, go_with_args(%w(-- -10))
    assert_equal(@rawdat[-10..-1], @stdout_io.string)
  end

  def test_file_input_opt
    with_testfile do |fname, tf| 
      tf.write @rawdat;  tf.close
      assert_equal 0, go_with_args(["-f", fname, "0"])
      assert_equal(@rawdat, @stdout_io.string)
    end
  end

  def test_bad_start
    assert_equal 1, go_with_args(%w{foo})
    assert_match(/invalid start length/i, @stderr_io.string)
  end

  def test_start_from_end_zero
    assert_equal 0, go_with_args(%w(-r 256))
    assert_equal("", @stdout_io.string)
  end

  def test_start_from_end_one
    assert_equal 0, go_with_args(%w(-r 255))
    assert_equal("\xff", @stdout_io.string)
  end

  def test_start_from_overflow
    assert_equal 0, go_with_args(%w(-r 2000))
    assert_equal("", @stdout_io.string)
  end

  def test_range_start_end
    assert_equal 0, go_with_args(%w(-r 10:20))
    assert_equal(@rawdat[10..20], @stdout_io.string)
  end

  def test_range_start_and_end
    assert_equal 0, go_with_args(%w(-r 10:20))
    assert_equal(@rawdat[10..20], @stdout_io.string)
  end

  def test_range_start_and_end_with_negative_end
    assert_equal 0, go_with_args(%w(-r 0:-20))
    assert_equal(@rawdat[0..-20], @stdout_io.string)
  end


  def test_range_start_and_end_hex
    assert_equal 0, go_with_args(%w(-x 0a:14))
    assert_equal(@rawdat[10..20], @stdout_io.string)
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
emonti-rbkb-0.6.6 test/test_cli_slice.rb
emonti-rbkb-0.6.7 test/test_cli_slice.rb
emonti-rbkb-0.6.8 test/test_cli_slice.rb
emonti-rbkb-0.6.9.1 test/test_cli_slice.rb
emonti-rbkb-0.6.9 test/test_cli_slice.rb
rbkb-0.7.2 test/test_cli_slice.rb
rbkb-0.7.1 test/test_cli_slice.rb
rbkb-0.7.0 test/test_cli_slice.rb
rbkb-0.6.12 test/test_cli_slice.rb
rbkb-0.6.11 test/test_cli_slice.rb
rbkb-0.6.10 test/test_cli_slice.rb