Files
brew/Library/Homebrew/test/test_pkg_version.rb
T
Vlad ShablinskyandXu Cheng 3fb5d70a72 Unify Version.create usage
Substitue each Version.new and HeadVersion.new with Version.create
to unify Version and HeadVersion instantiation among core code.

Note that this does not relate to Mac::OS::Version class.
2016-07-16 20:39:13 +08:00

52 lines
2.0 KiB
Ruby

require "testing_env"
require "pkg_version"
class PkgVersionTests < Homebrew::TestCase
def v(version)
PkgVersion.parse(version)
end
def test_parse
assert_equal PkgVersion.new(Version.create("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.create("1.0"), 1), PkgVersion.parse("1.0_1")
assert_equal PkgVersion.new(Version.create("1.0"), 0), PkgVersion.parse("1.0")
assert_equal PkgVersion.new(Version.create("1.0"), 0), PkgVersion.parse("1.0_0")
assert_equal PkgVersion.new(Version.create("2.1.4"), 0), PkgVersion.parse("2.1.4_0")
assert_equal PkgVersion.new(Version.create("1.0.1e"), 1), PkgVersion.parse("1.0.1e_1")
end
def test_comparison
assert_operator v("1.0_0"), :==, v("1.0")
assert_operator v("1.0_1"), :==, v("1.0_1")
assert_operator v("1.1"), :>, v("1.0_1")
assert_operator v("1.0_0"), :==, v("1.0")
assert_operator v("1.0_1"), :<, v("2.0_1")
assert_operator v("HEAD"), :>, v("1.0")
assert_operator v("1.0"), :<, v("HEAD")
v = PkgVersion.new(Version.create("1.0"), 0)
assert_nil v <=> Object.new
assert_raises(ArgumentError) { v > Object.new }
assert_raises(ArgumentError) { v > Version.create("1.0") }
end
def test_to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "1.0_1", PkgVersion.new(Version.create("1.0"), 1).to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "1.0", PkgVersion.new(Version.create("1.0"), 0).to_s
assert_equal "HEAD_1", PkgVersion.new(Version.create("HEAD"), 1).to_s
assert_equal "HEAD-ffffff_1", PkgVersion.new(Version.create("HEAD-ffffff"), 1).to_s
end
def test_hash
p1 = PkgVersion.new(Version.create("1.0"), 1)
p2 = PkgVersion.new(Version.create("1.0"), 1)
p3 = PkgVersion.new(Version.create("1.1"), 1)
p4 = PkgVersion.new(Version.create("1.0"), 0)
assert_equal p1.hash, p2.hash
refute_equal p1.hash, p3.hash
refute_equal p1.hash, p4.hash
end
end