Fix comparison with Version::NULL on RHS
This was accounted for in Version::NULL.<=>, but not in Version#<=>, so these could only be compared if Version::NULL was the left hand side. The check had to go above the check that `other` is a version because `Version::NULL`'s anonymous class does not inherit from `Version`. (The type check feels like it's probably a smell, but out of scope).
This commit is contained in:
parent
963adfafc3
commit
472d1a22c5
@ -144,6 +144,10 @@ describe Version do
|
||||
expect(described_class.create("2.1.0-p194")).to be > nil
|
||||
end
|
||||
|
||||
it "can be compared against Version::NULL" do
|
||||
expect(described_class.create("2.1.0-p194")).to be > Version::NULL
|
||||
end
|
||||
|
||||
it "can be compared against strings" do
|
||||
expect(described_class.create("2.1.0-p194")).to be == "2.1.0-p194"
|
||||
expect(described_class.create("1")).to be == 1
|
||||
|
@ -387,6 +387,7 @@ class Version
|
||||
other = Version.new(other.to_s) if other.is_a? Integer
|
||||
return 1 if other.nil?
|
||||
|
||||
return 1 if other.respond_to?(:null?) && other.null?
|
||||
return unless other.is_a?(Version)
|
||||
return 0 if version == other.version
|
||||
return 1 if head? && !other.head?
|
||||
|
Loading…
x
Reference in New Issue
Block a user