diff options
| author | Misty De Meo | 2016-11-14 13:44:03 -0800 |
|---|---|---|
| committer | GitHub | 2016-11-14 13:44:03 -0800 |
| commit | 30fdbe089b6a7d91dd12132b46436f90dad60c88 (patch) | |
| tree | e6795dfbc3549722dfb536d5c1503776ea5e0d0d /Library/Homebrew/test | |
| parent | 3a01fbadcd14fb180635d6464f2c600a738d50b5 (diff) | |
| parent | c7be025229dbbe86d85982a135c75b04c9ba00f2 (diff) | |
| download | brew-30fdbe089b6a7d91dd12132b46436f90dad60c88.tar.bz2 | |
Merge pull request #1435 from mistydemeo/dev_tools_version
Add "null version" class, and return compiler versions/build versions as Version objects
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/test_compiler_selector.rb | 16 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_versions.rb | 32 | ||||
| -rw-r--r-- | Library/Homebrew/test/testing_env.rb | 2 |
3 files changed, 42 insertions, 8 deletions
diff --git a/Library/Homebrew/test/test_compiler_selector.rb b/Library/Homebrew/test/test_compiler_selector.rb index 0363cacd2..b1591bdbe 100644 --- a/Library/Homebrew/test/test_compiler_selector.rb +++ b/Library/Homebrew/test/test_compiler_selector.rb @@ -15,15 +15,17 @@ class CompilerSelectorTests < Homebrew::TestCase :clang_build_version def initialize - @gcc_4_0_build_version = nil - @gcc_build_version = 5666 - @clang_build_version = 425 + @gcc_4_0_build_version = Version::NULL + @gcc_build_version = Version.create("5666") + @llvm_build_version = Version::NULL + @clang_build_version = Version.create("425") end def non_apple_gcc_version(name) case name - when "gcc-4.8" then "4.8.1" - when "gcc-4.7" then "4.7.1" + when "gcc-4.8" then Version.create("4.8.1") + when "gcc-4.7" then Version.create("4.7.1") + else Version::NULL end end end @@ -101,13 +103,13 @@ class CompilerSelectorTests < Homebrew::TestCase end def test_missing_gcc - @versions.gcc_build_version = nil + @versions.gcc_build_version = Version::NULL @f << :clang << :llvm << { gcc: "4.8" } << { gcc: "4.7" } assert_raises(CompilerSelectionError) { actual_cc } end def test_missing_llvm_and_gcc - @versions.gcc_build_version = nil + @versions.gcc_build_version = Version::NULL @f << :clang << { gcc: "4.8" } << { gcc: "4.7" } assert_raises(CompilerSelectionError) { actual_cc } end 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 diff --git a/Library/Homebrew/test/testing_env.rb b/Library/Homebrew/test/testing_env.rb index b6612535a..3fbf3e4b5 100644 --- a/Library/Homebrew/test/testing_env.rb +++ b/Library/Homebrew/test/testing_env.rb @@ -36,7 +36,7 @@ module Homebrew end def assert_version_nil(url) - assert_nil Version.parse(url) + assert Version.parse(url).null? end end |
