Sha256: 1ae49f5de9aa0ff84f199a03379ac8535dca50c2b547e9be39c8e22757410db8
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: false require 'test/unit' require 'optparse' require 'optparse/kwargs' class ::OptionParserKwArg < Test::Unit::TestCase class K def initialize(host:, port: 8080) @host = host @port = port end end class DummyOutput < String alias write concat end def assert_no_error(*args) $stderr, stderr = DummyOutput.new, $stderr assert_nothing_raised(*args) {return yield} ensure stderr, $stderr = $stderr, stderr $!.backtrace.delete_if {|e| /\A#{Regexp.quote(__FILE__)}:#{__LINE__-2}/o =~ e} if $! assert_empty(stderr) end alias no_error assert_no_error def test_kwarg opt = CLI::OptionParser.new options = opt.define_by_keywords({}, K.instance_method(:initialize), port: [Integer]) assert_raise(CLI::OptionParser::MissingArgument) {opt.parse!(%w"--host")} assert_nothing_raised {opt.parse!(%w"--host=localhost")} assert_equal("localhost", options[:host]) assert_nothing_raised {opt.parse!(%w"--port")} assert_nothing_raised {opt.parse!(%w"--port=80")} assert_equal(80, options[:port]) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cli-option_parser.rb-0.6.0 | test/optparse/test_kwargs.rb |
cli-option_parser.rb-0.5.3 | test/optparse/test_kwargs.rb |
cli-option_parser.rb-0.5.2 | test/optparse/test_kwargs.rb |