52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | 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 |