File tree Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Expand file tree Collapse file tree 2 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -31,6 +31,17 @@ def initialize(version)
3131 el_capitan : "10.11" ,
3232 } . freeze
3333
34+ sig { params ( macos_version : MacOSVersion ) . returns ( Version ) }
35+ def self . kernel_major_version ( macos_version )
36+ version_major = macos_version . major . to_i
37+ if version_major > 10
38+ Version . new ( ( version_major + 9 ) . to_s )
39+ else
40+ version_minor = macos_version . minor . to_i
41+ Version . new ( ( version_minor + 4 ) . to_s )
42+ end
43+ end
44+
3445 sig { params ( version : Symbol ) . returns ( T . attached_class ) }
3546 def self . from_symbol ( version )
3647 str = SYMBOLS . fetch ( version ) { raise MacOSVersion ::Error , version }
Original file line number Diff line number Diff line change 77 let ( :big_sur_major ) { described_class . new ( "11.0" ) }
88 let ( :big_sur_update ) { described_class . new ( "11.1" ) }
99
10+ describe ".kernel_major_version" do
11+ it "returns the kernel major version" do
12+ expect ( described_class . kernel_major_version ( version ) ) . to eq "18"
13+ expect ( described_class . kernel_major_version ( big_sur_major ) ) . to eq "20"
14+ expect ( described_class . kernel_major_version ( big_sur_update ) ) . to eq "20"
15+ end
16+
17+ it "matches the major version returned by OS.kernel_version" , :needs_macos do
18+ expect ( described_class . kernel_major_version ( OS ::Mac . version ) ) . to eq OS . kernel_version . major
19+ end
20+ end
21+
1022 specify "comparison with Symbol" do
1123 expect ( version ) . to be > :high_sierra
1224 expect ( version ) . to eq :mojave
You can’t perform that action at this time.
0 commit comments