From f069ebd0df00cd91cad81976450d34d668fadca0 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Wed, 22 Aug 2012 10:10:12 -0500 Subject: [PATCH] Version: make MacOSVersion comparison more robust Signed-off-by: Jack Nagel --- Library/Homebrew/test/test_versions.rb | 7 +++++++ Library/Homebrew/version.rb | 8 +------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index 0511d34843..52e0cccd10 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -38,6 +38,13 @@ class VersionComparisonTests < Test::Unit::TestCase assert v == 10.6 assert v == :snow_leopard assert v < :lion + # Test that we can compare against different representations + assert v <= 10.8 + assert v < "10.8" + assert v < :mountain_lion + assert v < 11 + assert v < Version.new(10.8) + assert Version.new(10.5) < v end def test_version_interrogation diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 01053012f4..796538cfdd 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -37,7 +37,6 @@ class Version include Comparable def initialize val, detected=false - return val if val.is_a? Version or val.nil? @version = val.to_s @detected_from_url = detected end @@ -210,17 +209,12 @@ end # Enable things like "MacOS.version >= :lion" class MacOSVersion < Version compare do |other| - case other - when Symbol, Fixnum, Float, Version super Version.new case other when :mountain_lion then 10.8 when :lion then 10.7 when :snow_leopard then 10.6 when :leopard then 10.5 - else other + else other.to_s end - else - nil - end end end