aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_pkg_version.rb
diff options
context:
space:
mode:
authorJack Nagel2015-04-02 20:22:12 -0400
committerJack Nagel2015-04-02 20:22:12 -0400
commit27092cabc4bda0904e1616bb2e5d4d949dbd3178 (patch)
tree16304967d4773c1942db4dec9e7a98f5ce941a17 /Library/Homebrew/test/test_pkg_version.rb
parent1b5fc1fb02691f0868f855443f1393568fe2b465 (diff)
downloadbrew-27092cabc4bda0904e1616bb2e5d4d949dbd3178.tar.bz2
Switch PkgVersion to use composition
Comparing PkgVersion and Version objects can produce nonsensical results. For example, equality is not symmetric: irb(main):002:0> PkgVersion.new("1.0", 0) == Version.new("1.0") => false irb(main):003:0> Version.new("1.0") == PkgVersion.new("1.0", 0) => true Rather than attempt to deal with subclass-superclass equality, let's use composition and punt on the problem altogether.
Diffstat (limited to 'Library/Homebrew/test/test_pkg_version.rb')
-rw-r--r--Library/Homebrew/test/test_pkg_version.rb27
1 files changed, 14 insertions, 13 deletions
diff --git a/Library/Homebrew/test/test_pkg_version.rb b/Library/Homebrew/test/test_pkg_version.rb
index a26a90c30..611c90ee6 100644
--- a/Library/Homebrew/test/test_pkg_version.rb
+++ b/Library/Homebrew/test/test_pkg_version.rb
@@ -7,13 +7,13 @@ class PkgVersionTests < Homebrew::TestCase
end
def test_parse
- assert_equal PkgVersion.new("1.0", 1), PkgVersion.parse("1.0_1")
- assert_equal PkgVersion.new("1.0", 1), PkgVersion.parse("1.0_1")
- assert_equal PkgVersion.new("1.0", 0), PkgVersion.parse("1.0")
- assert_equal PkgVersion.new("1.0", 0), PkgVersion.parse("1.0_0")
- assert_equal PkgVersion.new("2.1.4", 0), PkgVersion.parse("2.1.4_0")
- assert_equal PkgVersion.new("2.1.4_1", 0), PkgVersion.parse("2.1.4_1_0")
- assert_equal PkgVersion.new("1.0.1e", 1), PkgVersion.parse("1.0.1e_1")
+ assert_equal PkgVersion.new(Version.new("1.0"), 1), PkgVersion.parse("1.0_1")
+ assert_equal PkgVersion.new(Version.new("1.0"), 1), PkgVersion.parse("1.0_1")
+ assert_equal PkgVersion.new(Version.new("1.0"), 0), PkgVersion.parse("1.0")
+ assert_equal PkgVersion.new(Version.new("1.0"), 0), PkgVersion.parse("1.0_0")
+ assert_equal PkgVersion.new(Version.new("2.1.4"), 0), PkgVersion.parse("2.1.4_0")
+ assert_equal PkgVersion.new(Version.new("2.1.4_1"), 0), PkgVersion.parse("2.1.4_1_0")
+ assert_equal PkgVersion.new(Version.new("1.0.1e"), 1), PkgVersion.parse("1.0.1e_1")
end
def test_comparison
@@ -25,16 +25,17 @@ class PkgVersionTests < Homebrew::TestCase
assert_operator v("HEAD"), :>, v("1.0")
assert_operator v("1.0"), :<, v("HEAD")
- v = PkgVersion.new("1.0", 0)
+ v = PkgVersion.new(Version.new("1.0"), 0)
assert_nil v <=> Object.new
assert_raises(ArgumentError) { v > Object.new }
+ assert_raises(ArgumentError) { v > Version.new("1.0") }
end
def test_to_s
- assert_equal "1.0", PkgVersion.new("1.0", 0).to_s
- assert_equal "1.0_1", PkgVersion.new("1.0", 1).to_s
- assert_equal "1.0", PkgVersion.new("1.0", 0).to_s
- assert_equal "1.0", PkgVersion.new("1.0", 0).to_s
- assert_equal "HEAD", PkgVersion.new("HEAD", 1).to_s
+ assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
+ assert_equal "1.0_1", PkgVersion.new(Version.new("1.0"), 1).to_s
+ assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
+ assert_equal "1.0", PkgVersion.new(Version.new("1.0"), 0).to_s
+ assert_equal "HEAD", PkgVersion.new(Version.new("HEAD"), 1).to_s
end
end