From b6acb9cb47817631a69fba31a4cab2cae30da01b Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Thu, 3 Nov 2016 16:43:31 -0700 Subject: [PATCH] Version: allow comparing against nil --- Library/Homebrew/test/test_versions.rb | 4 ++++ Library/Homebrew/version.rb | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index 6f85fe7a06..3e1c97b03a 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -145,6 +145,10 @@ class VersionComparisonTests < Homebrew::TestCase assert_operator version("2-p194"), :<, version("2.1-p195") end + def test_comparing_against_nil + assert_operator version("2.1.0-p194"), :>, nil + end + def test_comparison_returns_nil_for_non_version v = version("1.0") assert_nil v <=> Object.new diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 57a9c11a50..56ffc9a642 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -213,6 +213,8 @@ class Version end def <=>(other) + return 1 if other.nil? + return unless other.is_a?(Version) return 0 if version == other.version return 1 if head? && !other.head?