Merge pull request #2080 from reitermarkus/spec-os_mac_version

Convert MacOS::Version test to spec.
This commit is contained in:
Markus Reiter 2017-02-21 20:09:03 +01:00 committed by GitHub
commit a0dca79f01
2 changed files with 51 additions and 54 deletions

View 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

View File

@ -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