diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb index 873180d8d6..bdcc16f6ff 100644 --- a/Library/Homebrew/test/test_versions.rb +++ b/Library/Homebrew/test/test_versions.rb @@ -55,7 +55,11 @@ class VersionComparisonTests < Homebrew::TestCase def test_HEAD assert_operator version("HEAD"), :>, version("1.2.3") + assert_operator version("HEAD-abcdef"), :>, version("1.2.3") assert_operator version("1.2.3"), :<, version("HEAD") + assert_operator version("1.2.3"), :<, version("HEAD-fedcba") + assert_operator version("HEAD-abcdef"), :==, version("HEAD-fedcba") + assert_operator version("HEAD"), :==, version("HEAD-fedcba") end def test_comparing_alpha_versions @@ -156,6 +160,12 @@ class VersionParsingTests < Homebrew::TestCase assert_version_nil "foo" end + def test_create + v = Version.create("1.20") + refute_predicate v, :head? + assert_equal "1.20", v.to_str + end + def test_version_all_dots assert_version_detected "1.14", "http://example.com/foo.bar.la.1.14.zip" end @@ -441,3 +451,38 @@ class VersionParsingTests < Homebrew::TestCase "http://github.com/foo/bar.git", {:tag => "v1.2.3"} end end + +class HeadVersionTests < Homebrew::TestCase + def test_create_head + v1 = Version.create("HEAD-abcdef") + v2 = Version.create("HEAD") + + assert_predicate v1, :head? + assert_predicate v2, :head? + end + + def test_commit_assigned + v = HeadVersion.new("HEAD-abcdef") + assert_equal "abcdef", v.commit + assert_equal "HEAD-abcdef", v.to_str + end + + def test_no_commit + v = HeadVersion.new("HEAD") + assert_nil v.commit + assert_equal "HEAD", v.to_str + end + + def test_update_commit + v1 = HeadVersion.new("HEAD-abcdef") + v2 = HeadVersion.new("HEAD") + + v1.update_commit("ffffff") + assert_equal "ffffff", v1.commit + assert_equal "HEAD-ffffff", v1.to_str + + v2.update_commit("ffffff") + assert_equal "ffffff", v2.commit + assert_equal "HEAD-ffffff", v2.to_str + end +end diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index 214aa97891..35aa00b230 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -23,7 +23,7 @@ end module Homebrew module VersionAssertions def version(v) - Version.new(v) + Version.create(v) end def assert_version_equal(expected, actual)