From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/test/optparse/test_bash_completion.rb | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 jni/ruby/test/optparse/test_bash_completion.rb (limited to 'jni/ruby/test/optparse/test_bash_completion.rb') diff --git a/jni/ruby/test/optparse/test_bash_completion.rb b/jni/ruby/test/optparse/test_bash_completion.rb new file mode 100644 index 0000000..baeb6d9 --- /dev/null +++ b/jni/ruby/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 -- cgit v1.2.3