Merge pull request #18674 from Homebrew/kernel-major-versions
This commit is contained in:
commit
a7548f009e
@ -31,6 +31,17 @@ class MacOSVersion < Version
|
||||
el_capitan: "10.11",
|
||||
}.freeze
|
||||
|
||||
sig { params(macos_version: MacOSVersion).returns(Version) }
|
||||
def self.kernel_major_version(macos_version)
|
||||
version_major = macos_version.major.to_i
|
||||
if version_major > 10
|
||||
Version.new((version_major + 9).to_s)
|
||||
else
|
||||
version_minor = macos_version.minor.to_i
|
||||
Version.new((version_minor + 4).to_s)
|
||||
end
|
||||
end
|
||||
|
||||
sig { params(version: Symbol).returns(T.attached_class) }
|
||||
def self.from_symbol(version)
|
||||
str = SYMBOLS.fetch(version) { raise MacOSVersion::Error, version }
|
||||
|
||||
@ -7,6 +7,18 @@ RSpec.describe MacOSVersion do
|
||||
let(:big_sur_major) { described_class.new("11.0") }
|
||||
let(:big_sur_update) { described_class.new("11.1") }
|
||||
|
||||
describe ".kernel_major_version" do
|
||||
it "returns the kernel major version" do
|
||||
expect(described_class.kernel_major_version(version)).to eq "18"
|
||||
expect(described_class.kernel_major_version(big_sur_major)).to eq "20"
|
||||
expect(described_class.kernel_major_version(big_sur_update)).to eq "20"
|
||||
end
|
||||
|
||||
it "matches the major version returned by OS.kernel_version", :needs_macos do
|
||||
expect(described_class.kernel_major_version(OS::Mac.version)).to eq OS.kernel_version.major
|
||||
end
|
||||
end
|
||||
|
||||
specify "comparison with Symbol" do
|
||||
expect(version).to be > :high_sierra
|
||||
expect(version).to eq :mojave
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user