aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_versions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test/test_versions.rb')
-rw-r--r--Library/Homebrew/test/test_versions.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_versions.rb b/Library/Homebrew/test/test_versions.rb
index 21bf324a3..a6e922178 100644
--- a/Library/Homebrew/test/test_versions.rb
+++ b/Library/Homebrew/test/test_versions.rb
@@ -30,6 +30,29 @@ class VersionTokenTests < Homebrew::TestCase
end
end
+class NullVersionTests < Homebrew::TestCase
+ def test_null_version_is_always_smaller
+ assert_operator Version::NULL, :<, version("1")
+ end
+
+ def test_null_version_is_never_greater
+ refute_operator Version::NULL, :>, version("0")
+ end
+
+ def test_null_version_is_not_equal_to_itself
+ refute_eql Version::NULL, Version::NULL
+ end
+
+ def test_null_version_creates_an_empty_string
+ assert_eql "", Version::NULL.to_s
+ end
+
+ def test_null_version_produces_nan_as_a_float
+ # Float::NAN is not equal to itself so compare object IDs
+ assert_eql Float::NAN.object_id, Version::NULL.to_f.object_id
+ end
+end
+
class VersionNullTokenTests < Homebrew::TestCase
def test_inspect
assert_equal "#<Version::NullToken>", Version::NullToken.new.inspect
@@ -122,6 +145,15 @@ class VersionComparisonTests < Homebrew::TestCase
assert_operator version("2-p194"), :<, version("2.1-p195")
end
+ def test_comparing_against_nil
+ assert_operator version("2.1.0-p194"), :>, nil
+ end
+
+ def test_comparing_against_strings
+ assert_operator version("2.1.0-p194"), :==, "2.1.0-p194"
+ assert_operator version("1"), :==, 1
+ end
+
def test_comparison_returns_nil_for_non_version
v = version("1.0")
assert_nil v <=> Object.new