You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.4 KiB

require File.join(File.dirname(__FILE__), 'helper')
class RPMVersionTests < Minitest::Test
def setup
@a = RPM::Version.new('1.0.0-0.1m')
@b = RPM::Version.new('0.9.0-1m')
@c = RPM::Version.new('1.0.0-0.11m')
@d = RPM::Version.new('0.9.0-1m', 1)
end
def test_parse_evr
assert_equal [23, '1.0.3', '1suse'],
RPM::Version.parse_evr('23:1.0.3-1suse')
assert_equal [nil, '1.0', nil],
RPM::Version.parse_evr('1.0')
assert_equal [nil, '2.0', '3'],
RPM::Version.parse_evr('2.0-3')
end
def test_version_compare
assert(@a > @b)
assert(@a < @c)
assert(@a < @d)
end
def test_version_newer?
assert(@a.newer?(@b))
assert(@c.newer?(@a))
assert(@d.newer?(@a))
assert(!@a.newer?(@a))
end
def test_version_older?
assert(@b.older?(@a))
assert(@a.older?(@c))
assert(@a.older?(@d))
assert(!@a.older?(@a))
end
def test_vre
assert_equal('0.9.0', @d.v)
assert_equal('1m', @d.r)
assert_equal(1, @d.e)
end
def test_to_s
assert_equal('0.9.0-1m', @b.to_s)
assert_equal('0.9.0-1m', @d.to_s)
end
def test_to_vre
assert_equal('0.9.0-1m', @b.to_vre)
assert_equal('1:0.9.0-1m', @d.to_vre)
end
def test_epoch_none_zero
v1 = RPM::Version.new('1-2')
v2 = RPM::Version.new('0:1-2')
assert_nil v1.e
assert_equal(0, v2.e)
assert(v1 == v2)
assert_equal(v1.hash, v2.hash)
end
end