aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/os/mac/version.rb5
-rw-r--r--Library/Homebrew/test/test_version_subclasses.rb5
2 files changed, 9 insertions, 1 deletions
diff --git a/Library/Homebrew/os/mac/version.rb b/Library/Homebrew/os/mac/version.rb
index ed05ac553..06901b642 100644
--- a/Library/Homebrew/os/mac/version.rb
+++ b/Library/Homebrew/os/mac/version.rb
@@ -14,7 +14,10 @@ module OS
}
def self.from_symbol(sym)
- new(SYMBOLS.fetch(sym))
+ str = SYMBOLS.fetch(sym) do
+ raise ArgumentError, "unknown version #{sym.inspect}"
+ end
+ new(str)
end
def initialize(*args)
diff --git a/Library/Homebrew/test/test_version_subclasses.rb b/Library/Homebrew/test/test_version_subclasses.rb
index 1dbaae47a..9261a7251 100644
--- a/Library/Homebrew/test/test_version_subclasses.rb
+++ b/Library/Homebrew/test/test_version_subclasses.rb
@@ -39,4 +39,9 @@ class MacOSVersionTests < Homebrew::TestCase
assert_operator @v, :===, Version.new("10.7")
assert_operator @v, :<, Version.new("10.8")
end
+
+ def test_from_symbol
+ assert_equal @v, MacOS::Version.from_symbol(:lion)
+ assert_raises(ArgumentError) { MacOS::Version.from_symbol(:foo) }
+ end
end