diff options
| -rw-r--r-- | Library/Homebrew/os/mac/version.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_version_subclasses.rb | 5 |
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 |
