mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
91 lines
1.9 KiB
Ruby
91 lines
1.9 KiB
Ruby
![]() |
require 'testing_env'
|
||
|
require 'options'
|
||
|
|
||
|
class OptionTests < Test::Unit::TestCase
|
||
|
def setup
|
||
|
@option = Option.new("foo")
|
||
|
end
|
||
|
|
||
|
def test_to_s
|
||
|
assert_equal "--foo", @option.to_s
|
||
|
end
|
||
|
|
||
|
def test_to_str
|
||
|
assert_equal "--foo", @option.to_str
|
||
|
end
|
||
|
|
||
|
def test_to_json
|
||
|
assert_equal %q{"--foo"}, @option.to_json
|
||
|
end
|
||
|
|
||
|
def test_equality
|
||
|
foo = Option.new("foo")
|
||
|
bar = Option.new("bar")
|
||
|
assert_equal foo, @option
|
||
|
assert_not_equal bar, @option
|
||
|
assert @option.eql?(foo)
|
||
|
assert !@option.eql?(bar)
|
||
|
assert bar < foo
|
||
|
end
|
||
|
|
||
|
def test_strips_leading_dashes
|
||
|
option = Option.new("--foo")
|
||
|
assert_equal "foo", option.name
|
||
|
assert_equal "--foo", option.flag
|
||
|
end
|
||
|
|
||
|
def test_description
|
||
|
assert_empty @option.description
|
||
|
assert_equal "foo", Option.new("foo", "foo").description
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class OptionsTests < Test::Unit::TestCase
|
||
|
def setup
|
||
|
@options = Options.new
|
||
|
end
|
||
|
|
||
|
def test_no_duplicate_options
|
||
|
@options << Option.new("foo")
|
||
|
@options << Option.new("foo")
|
||
|
assert @options.include? "--foo"
|
||
|
assert_equal 1, @options.count
|
||
|
end
|
||
|
|
||
|
def test_include
|
||
|
@options << Option.new("foo")
|
||
|
assert @options.include? "--foo"
|
||
|
assert @options.include? "foo"
|
||
|
assert @options.include? Option.new("foo")
|
||
|
end
|
||
|
|
||
|
def test_union_returns_options
|
||
|
assert_instance_of Options, (@options + Options.new)
|
||
|
end
|
||
|
|
||
|
def test_difference_returns_options
|
||
|
assert_instance_of Options, (@options - Options.new)
|
||
|
end
|
||
|
|
||
|
def test_shovel_returns_self
|
||
|
assert_same @options, (@options << Option.new("foo"))
|
||
|
end
|
||
|
|
||
|
def test_as_flags
|
||
|
@options << Option.new("foo")
|
||
|
assert_equal %w{--foo}, @options.as_flags
|
||
|
end
|
||
|
|
||
|
def test_to_a
|
||
|
option = Option.new("foo")
|
||
|
@options << option
|
||
|
assert_equal [option], @options.to_a
|
||
|
end
|
||
|
|
||
|
def test_to_ary
|
||
|
option = Option.new("foo")
|
||
|
@options << option
|
||
|
assert_equal [option], @options.to_ary
|
||
|
end
|
||
|
end
|