mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
3c1f696a50
commit
644f0445e8
4 changed files with 127 additions and 9 deletions
42
test/optparse/test_bash_completion.rb
Normal file
42
test/optparse/test_bash_completion.rb
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue