| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  | require "version" | 
					
						
							|  |  |  | require "os/mac/version" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe OS::Mac::Version do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |   subject { described_class.new("10.14") } | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   specify "comparison with Symbol" do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |     expect(subject).to be > :high_sierra | 
					
						
							|  |  |  |     expect(subject).to be == :mojave | 
					
						
							|  |  |  |     expect(subject).to be === :mojave # rubocop:disable Style/CaseEquality | 
					
						
							|  |  |  |     expect(subject).to be < :catalina | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "comparison with Fixnum" do | 
					
						
							|  |  |  |     expect(subject).to be > 10
 | 
					
						
							|  |  |  |     expect(subject).to be < 11
 | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "comparison with Float" do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |     expect(subject).to be > 10.13
 | 
					
						
							|  |  |  |     expect(subject).to be < 10.15
 | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "comparison with String" do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |     expect(subject).to be > "10.3" | 
					
						
							|  |  |  |     expect(subject).to be == "10.14" | 
					
						
							|  |  |  |     expect(subject).to be === "10.14" # rubocop:disable Style/CaseEquality | 
					
						
							|  |  |  |     expect(subject).to be < "10.15" | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "comparison with Version" do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |     expect(subject).to be > Version.create("10.3") | 
					
						
							|  |  |  |     expect(subject).to be == Version.create("10.14") | 
					
						
							|  |  |  |     expect(subject).to be === Version.create("10.14") # rubocop:disable Style/CaseEquality | 
					
						
							|  |  |  |     expect(subject).to be < Version.create("10.15") | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "#from_symbol" do | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |     expect(described_class.from_symbol(:mojave)).to eq(subject) | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |     expect { described_class.from_symbol(:foo) } | 
					
						
							| 
									
										
										
										
											2020-06-10 10:06:46 +01:00
										 |  |  |       .to raise_error(MacOSVersionError, "unknown or unsupported macOS version: :foo") | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   specify "#pretty_name" do | 
					
						
							|  |  |  |     expect(described_class.new("10.11").pretty_name).to eq("El Capitan") | 
					
						
							| 
									
										
										
										
											2019-01-26 17:13:14 +00:00
										 |  |  |     expect(described_class.new("10.14").pretty_name).to eq("Mojave") | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  |     expect(described_class.new("10.10").pretty_name).to eq("Yosemite") | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2019-01-28 19:31:21 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   specify "#requires_nehalem_cpu?" do | 
					
						
							|  |  |  |     expect(described_class.new("10.14").requires_nehalem_cpu?).to be true | 
					
						
							|  |  |  |     expect(described_class.new("10.12").requires_nehalem_cpu?).to be false | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-02-21 05:54:16 +01:00
										 |  |  | end |