Fix PkgVersion#<=>
This commit is contained in:
parent
08c43dcd96
commit
1ee4cd94ba
@ -30,6 +30,7 @@ class PkgVersion < Version
|
||||
alias_method :to_str, :to_s
|
||||
|
||||
def <=>(other)
|
||||
return unless Version === other
|
||||
super.nonzero? || revision <=> other.revision
|
||||
end
|
||||
end
|
||||
|
@ -24,6 +24,10 @@ class PkgVersionTests < Homebrew::TestCase
|
||||
assert_operator v("1.0_1"), :<, v("2.0_1")
|
||||
assert_operator v("HEAD"), :>, v("1.0")
|
||||
assert_operator v("1.0"), :<, v("HEAD")
|
||||
|
||||
v = PkgVersion.new("1.0", 0)
|
||||
assert_nil v <=> Object.new
|
||||
assert_raises(ArgumentError) { v > Object.new }
|
||||
end
|
||||
|
||||
def test_to_s
|
||||
|
@ -63,7 +63,9 @@ class VersionComparisonTests < Homebrew::TestCase
|
||||
end
|
||||
|
||||
def test_comparison_returns_nil_for_non_version
|
||||
assert_nil version('1.0') <=> 'foo'
|
||||
v = version("1.0")
|
||||
assert_nil v <=> Object.new
|
||||
assert_raises(ArgumentError) { v > Object.new }
|
||||
end
|
||||
|
||||
def test_compare_patchlevel_to_non_patchlevel
|
||||
|
Loading…
x
Reference in New Issue
Block a user