summaryrefslogtreecommitdiff
path: root/test/test_getoptlong.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_getoptlong.rb')
-rw-r--r--test/test_getoptlong.rb163
1 files changed, 0 insertions, 163 deletions
diff --git a/test/test_getoptlong.rb b/test/test_getoptlong.rb
deleted file mode 100644
index 0cd370b6c7..0000000000
--- a/test/test_getoptlong.rb
+++ /dev/null
@@ -1,163 +0,0 @@
-require 'test/unit'
-require 'getoptlong'
-
-class TestGetoptLong < Test::Unit::TestCase
-
- def verify(test_argv, expected_remaining_argv, expected_options)
- # Save ARGV and replace it with a test ARGV.
- argv_saved = ARGV.dup
- ARGV.replace(test_argv)
- # Define options.
- opts = GetoptLong.new(
- ['--xxx', '-x', '--aaa', '-a', GetoptLong::REQUIRED_ARGUMENT],
- ['--yyy', '-y', '--bbb', '-b', GetoptLong::OPTIONAL_ARGUMENT],
- ['--zzz', '-z', '--ccc', '-c', GetoptLong::NO_ARGUMENT]
- )
- opts.quiet = true
- # Gather options.
- actual_options = []
- opts.each do |opt, arg|
- actual_options << "#{opt}: #{arg}"
- end
- # Save remaining test ARGV and restore original ARGV.
- actual_remaining_argv = ARGV.dup
- ARGV.replace(argv_saved)
- # Assert.
- assert_equal(expected_remaining_argv, actual_remaining_argv, 'ARGV')
- assert_equal(expected_options, actual_options, 'Options')
- end
-
- def test_no_options
- expected_options = []
- expected_argv = %w[foo bar]
- argv = %w[foo bar]
- verify(argv, expected_argv, expected_options)
- end
-
- def test_required_argument
- expected_options = [
- '--xxx: arg'
- ]
- expected_argv = %w[foo bar]
- options = %w[--xxx --xx --x -x --aaa --aa --a -a]
- options.each do |option|
- argv = ['foo', option, 'arg', 'bar']
- verify(argv, expected_argv, expected_options)
- end
- end
-
- def test_required_argument_missing
- options = %w[--xxx --xx --x -x --aaa --aa --a -a]
- options.each do |option|
- argv = [option]
- e = assert_raise(GetoptLong::MissingArgument) do
- verify(argv, [], [])
- end
- assert_match('requires an argument', e.message)
- end
- end
-
- def test_optional_argument
- expected_options = [
- '--yyy: arg'
- ]
- expected_argv = %w[foo bar]
- options = %w[--yyy --y --y -y --bbb --bb --b -b]
- options.each do |option|
- argv = ['foo', 'bar', option, 'arg']
- verify(argv, expected_argv, expected_options)
- end
- end
-
- def test_optional_argument_missing
- expected_options = [
- '--yyy: '
- ]
- expected_argv = %w[foo bar]
- options = %w[--yyy --y --y -y --bbb --bb --b -b]
- options.each do |option|
- argv = ['foo', 'bar', option]
- verify(argv, expected_argv, expected_options)
- end
- end
-
- def test_no_argument
- expected_options = [
- '--zzz: '
- ]
- expected_argv = %w[foo bar]
- options = %w[--zzz --zz --z -z --ccc --cc --c -c]
- options.each do |option|
- argv = ['foo', option, 'bar']
- verify(argv, expected_argv, expected_options)
- end
- end
-
- def test_new_with_empty_array
- e = assert_raise(ArgumentError) do
- GetoptLong.new([])
- end
- assert_match(/no argument-flag/, e.message)
- end
-
- def test_new_with_bad_array
- e = assert_raise(ArgumentError) do
- GetoptLong.new('foo')
- end
- assert_match(/option list contains non-Array argument/, e.message)
- end
-
- def test_new_with_empty_subarray
- e = assert_raise(ArgumentError) do
- GetoptLong.new([[]])
- end
- assert_match(/no argument-flag/, e.message)
- end
-
- def test_new_with_bad_subarray
- e = assert_raise(ArgumentError) do
- GetoptLong.new([1])
- end
- assert_match(/no option name/, e.message)
- end
-
- def test_new_with_invalid_option
- invalid_options = %w[verbose -verbose -- +]
- invalid_options.each do |invalid_option|
- e = assert_raise(ArgumentError, invalid_option.to_s) do
- arguments = [
- [invalid_option, '-v', GetoptLong::NO_ARGUMENT]
- ]
- GetoptLong.new(*arguments)
- end
- assert_match(/invalid option/, e.message)
- end
- end
-
- def test_new_with_invalid_alias
- invalid_aliases = %w[v - -- +]
- invalid_aliases.each do |invalid_alias|
- e = assert_raise(ArgumentError, invalid_alias.to_s) do
- arguments = [
- ['--verbose', invalid_alias, GetoptLong::NO_ARGUMENT]
- ]
- GetoptLong.new(*arguments)
- end
- assert_match(/invalid option/, e.message)
- end
- end
-
- def test_new_with_invalid_flag
- invalid_flags = ['foo']
- invalid_flags.each do |invalid_flag|
- e = assert_raise(ArgumentError, invalid_flag.to_s) do
- arguments = [
- ['--verbose', '-v', invalid_flag]
- ]
- GetoptLong.new(*arguments)
- end
- assert_match(/no argument-flag/, e.message)
- end
- end
-
-end