aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/os/mac/version_spec.rb
blob: 797207b6788b44c34d6ac1825771ae3a5fc11242 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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