Merge pull request #2080 from reitermarkus/spec-os_mac_version
Convert MacOS::Version test to spec.
This commit is contained in:
		
						commit
						a0dca79f01
					
				
							
								
								
									
										51
									
								
								Library/Homebrew/test/os/mac/version_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								Library/Homebrew/test/os/mac/version_spec.rb
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
			
		||||
require "version"
 | 
			
		||||
require "os/mac/version"
 | 
			
		||||
 | 
			
		||||
describe OS::Mac::Version do
 | 
			
		||||
  subject { described_class.new("10.7") }
 | 
			
		||||
 | 
			
		||||
  specify "comparison with Symbol" do
 | 
			
		||||
    expect(subject).to be > :snow_leopard
 | 
			
		||||
    expect(subject).to be == :lion
 | 
			
		||||
    expect(subject).to be === :lion # rubocop:disable Style/CaseEquality
 | 
			
		||||
    expect(subject).to be < :mountain_lion
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "comparison with Fixnum" do
 | 
			
		||||
    expect(subject).to be > 10
 | 
			
		||||
    expect(subject).to be < 11
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "comparison with Float" do
 | 
			
		||||
    expect(subject).to be > 10.6
 | 
			
		||||
    expect(subject).to be == 10.7
 | 
			
		||||
    expect(subject).to be === 10.7 # rubocop:disable Style/CaseEquality
 | 
			
		||||
    expect(subject).to be < 10.8
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "comparison with String" do
 | 
			
		||||
    expect(subject).to be > "10.6"
 | 
			
		||||
    expect(subject).to be == "10.7"
 | 
			
		||||
    expect(subject).to be === "10.7" # rubocop:disable Style/CaseEquality
 | 
			
		||||
    expect(subject).to be < "10.8"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "comparison with Version" do
 | 
			
		||||
    expect(subject).to be > Version.create("10.6")
 | 
			
		||||
    expect(subject).to be == Version.create("10.7")
 | 
			
		||||
    expect(subject).to be === Version.create("10.7") # rubocop:disable Style/CaseEquality
 | 
			
		||||
    expect(subject).to be < Version.create("10.8")
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "#from_symbol" do
 | 
			
		||||
    expect(described_class.from_symbol(:lion)).to eq(subject)
 | 
			
		||||
    expect { described_class.from_symbol(:foo) }
 | 
			
		||||
      .to raise_error(ArgumentError)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  specify "#pretty_name" do
 | 
			
		||||
    expect(described_class.new("10.11").pretty_name).to eq("El Capitan")
 | 
			
		||||
    expect(described_class.new("10.8").pretty_name).to eq("Mountain Lion")
 | 
			
		||||
    expect(described_class.new("10.10").pretty_name).to eq("Yosemite")
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
@ -1,54 +0,0 @@
 | 
			
		||||
require "testing_env"
 | 
			
		||||
require "version"
 | 
			
		||||
require "os/mac/version"
 | 
			
		||||
 | 
			
		||||
class OSMacVersionTests < Homebrew::TestCase
 | 
			
		||||
  def setup
 | 
			
		||||
    super
 | 
			
		||||
    @v = MacOS::Version.new("10.7")
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_compare_with_symbol
 | 
			
		||||
    assert_operator @v, :>, :snow_leopard
 | 
			
		||||
    assert_operator @v, :==, :lion
 | 
			
		||||
    assert_operator @v, :===, :lion
 | 
			
		||||
    assert_operator @v, :<, :mountain_lion
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_compare_with_fixnum
 | 
			
		||||
    assert_operator @v, :>, 10
 | 
			
		||||
    assert_operator @v, :<, 11
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_compare_with_float
 | 
			
		||||
    assert_operator @v, :>, 10.6
 | 
			
		||||
    assert_operator @v, :==, 10.7
 | 
			
		||||
    assert_operator @v, :===, 10.7
 | 
			
		||||
    assert_operator @v, :<, 10.8
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_compare_with_string
 | 
			
		||||
    assert_operator @v, :>, "10.6"
 | 
			
		||||
    assert_operator @v, :==, "10.7"
 | 
			
		||||
    assert_operator @v, :===, "10.7"
 | 
			
		||||
    assert_operator @v, :<, "10.8"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_compare_with_version
 | 
			
		||||
    assert_operator @v, :>, Version.create("10.6")
 | 
			
		||||
    assert_operator @v, :==, Version.create("10.7")
 | 
			
		||||
    assert_operator @v, :===, Version.create("10.7")
 | 
			
		||||
    assert_operator @v, :<, Version.create("10.8")
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_from_symbol
 | 
			
		||||
    assert_equal @v, MacOS::Version.from_symbol(:lion)
 | 
			
		||||
    assert_raises(ArgumentError) { MacOS::Version.from_symbol(:foo) }
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_pretty_name
 | 
			
		||||
    assert_equal "El Capitan", MacOS::Version.new("10.11").pretty_name
 | 
			
		||||
    assert_equal "Mountain Lion", MacOS::Version.new("10.8").pretty_name
 | 
			
		||||
    assert_equal "Yosemite", MacOS::Version.new("10.10").pretty_name
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user