os/mac/software_spec: fix argument error in valid use case
This commit is contained in:
		
							parent
							
								
									e1f3b0b971
								
							
						
					
					
						commit
						16141e7eff
					
				@ -11,7 +11,7 @@ class SoftwareSpec
 | 
			
		||||
      deps = Hash[*bounds.shift]
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    bounds.transform_values! { |v| MacOS::Version.from_symbol(v) }
 | 
			
		||||
    bounds = bounds.transform_values { |v| MacOS::Version.from_symbol(v) }
 | 
			
		||||
    if MacOS.version >= bounds[:since]
 | 
			
		||||
      @uses_from_macos_elements << deps
 | 
			
		||||
    else
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,43 @@
 | 
			
		||||
require "formula"
 | 
			
		||||
 | 
			
		||||
describe Formula do
 | 
			
		||||
  describe "#uses_from_macos" do
 | 
			
		||||
    before do
 | 
			
		||||
      allow(OS).to receive(:mac?).and_return(true)
 | 
			
		||||
      allow(OS::Mac).to receive(:version).and_return(OS::Mac::Version.from_symbol(:sierra))
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "adds a macOS dependency to all specs if the OS version meets requirements" do
 | 
			
		||||
      f = formula "foo" do
 | 
			
		||||
        url "foo-1.0"
 | 
			
		||||
 | 
			
		||||
        uses_from_macos("foo", since: :el_capitan)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      expect(f.class.stable.deps).to be_empty
 | 
			
		||||
      expect(f.class.devel.deps).to be_empty
 | 
			
		||||
      expect(f.class.head.deps).to be_empty
 | 
			
		||||
      expect(f.class.stable.uses_from_macos_elements.first).to eq("foo")
 | 
			
		||||
      expect(f.class.devel.uses_from_macos_elements.first).to eq("foo")
 | 
			
		||||
      expect(f.class.head.uses_from_macos_elements.first).to eq("foo")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it "doesn't add a macOS dependency to any spec if the OS version doesn't meet requirements" do
 | 
			
		||||
      f = formula "foo" do
 | 
			
		||||
        url "foo-1.0"
 | 
			
		||||
 | 
			
		||||
        uses_from_macos("foo", since: :high_sierra)
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      expect(f.class.stable.deps.first.name).to eq("foo")
 | 
			
		||||
      expect(f.class.devel.deps.first.name).to eq("foo")
 | 
			
		||||
      expect(f.class.head.deps.first.name).to eq("foo")
 | 
			
		||||
      expect(f.class.stable.uses_from_macos_elements).to be_empty
 | 
			
		||||
      expect(f.class.devel.uses_from_macos_elements).to be_empty
 | 
			
		||||
      expect(f.class.head.uses_from_macos_elements).to be_empty
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  describe "#on_macos" do
 | 
			
		||||
    it "defines an url on macos only" do
 | 
			
		||||
      f = formula do
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user