brew/Library/Homebrew/test/test_version_subclasses.rb
Jack Nagel 596f3ba0a0 Raise ArgumentError when a symbol can't be mapped to a version
The fact that this is implemented as a hash lookup is an implementation
detail, so don't let the KeyError bubble up.
2014-07-16 21:11:48 -05:00

48 lines
1.2 KiB
Ruby

require 'testing_env'
require 'version'
require 'os/mac/version'
class MacOSVersionTests < Homebrew::TestCase
def setup
@v = MacOS::Version.new("10.7")
end
def test_compare_with_symbol
assert_operator @v, :>, :snow_leopard
assert_operator @v, :==, :lion
assert_operator @v, :===, :lion
assert_operator @v, :<, :mountain_lion
end
def test_compare_with_fixnum
assert_operator @v, :>, 10
assert_operator @v, :<, 11
end
def test_compare_with_float
assert_operator @v, :>, 10.6
assert_operator @v, :==, 10.7
assert_operator @v, :===, 10.7
assert_operator @v, :<, 10.8
end
def test_compare_with_string
assert_operator @v, :>, "10.6"
assert_operator @v, :==, "10.7"
assert_operator @v, :===, "10.7"
assert_operator @v, :<, "10.8"
end
def test_compare_with_version
assert_operator @v, :>, Version.new("10.6")
assert_operator @v, :==, Version.new("10.7")
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