diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-19 11:26:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-19 11:26:54 +0000 |
commit | 644f0445e86034dde399d6db8261c82cf34b8e07 (patch) | |
tree | e5f07c9ca2f876d615549cbd3ea46f6ea370e421 /test/optparse | |
parent | 3c1f696a507fb8f7deb87b7111d44458efb8c051 (diff) |
* lib/optparse.rb: shell completion support for bash.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/optparse')
-rw-r--r-- | test/optparse/test_bash_completion.rb | 42 | ||||
-rw-r--r-- | test/optparse/test_getopts.rb | 4 |
2 files changed, 45 insertions, 1 deletions
diff --git a/test/optparse/test_bash_completion.rb b/test/optparse/test_bash_completion.rb new file mode 100644 index 0000000000..baeb6d9882 --- /dev/null +++ b/test/optparse/test_bash_completion.rb @@ -0,0 +1,42 @@ +require 'test/unit' +require 'optparse' + +class TestOptionParser < Test::Unit::TestCase +end +class TestOptionParser::BashCompletion < Test::Unit::TestCase + def setup + @opt = OptionParser.new + @opt.define("-z", "zzz") {} + @opt.define("--foo") {} + @opt.define("--bar=BAR") {} + @opt.define("--for=TYPE", [:hello, :help, :zot]) {} + end + + def test_empty + assert_equal([], @opt.candidate("")) + end + + def test_one_hyphen + assert_equal(%w[-z --foo --bar= --for=], @opt.candidate("-")) + end + + def test_two_hyphen + assert_equal(%w[--foo --bar= --for=], @opt.candidate("--")) + end + + def test_long_f + assert_equal(%w[--foo --for=], @opt.candidate("--f")) + end + + def test_long_for_option + assert_equal(%w[--for=], @opt.candidate("--for")) + end + + def test_long_for_option_args + assert_equal(%w[hello help zot], @opt.candidate("--for=")) + end + + def test_long_for_option_complete + assert_equal(%w[hello help], @opt.candidate("--for=h")) + end +end diff --git a/test/optparse/test_getopts.rb b/test/optparse/test_getopts.rb index 1ba194ace1..ae22f68184 100644 --- a/test/optparse/test_getopts.rb +++ b/test/optparse/test_getopts.rb @@ -1,7 +1,9 @@ require 'test/unit' require 'optparse' -class TestOptionParserGetopts < Test::Unit::TestCase +class TestOptionParser < Test::Unit::TestCase +end +class TestOptionParser::Getopts < Test::Unit::TestCase def setup @opt = OptionParser.new end |