diff options
| author | Markus Reiter | 2017-02-21 21:45:34 +0100 | 
|---|---|---|
| committer | Markus Reiter | 2017-02-21 21:45:34 +0100 | 
| commit | dd99d656a30ec3ce2de7e60c24e6b0a1b506ff1d (patch) | |
| tree | 733f579c554b9522f0495b30b03bfeca66a30d8b /Library/Homebrew/test/utils/bottles/bottles_spec.rb | |
| parent | ebb2b3aa6be9f286ed1b78b5a9234933ab4b1a12 (diff) | |
| download | brew-dd99d656a30ec3ce2de7e60c24e6b0a1b506ff1d.tar.bz2 | |
Convert Utils::Bottles test to spec.
Diffstat (limited to 'Library/Homebrew/test/utils/bottles/bottles_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/utils/bottles/bottles_spec.rb | 80 | 
1 files changed, 80 insertions, 0 deletions
diff --git a/Library/Homebrew/test/utils/bottles/bottles_spec.rb b/Library/Homebrew/test/utils/bottles/bottles_spec.rb new file mode 100644 index 000000000..8b54b0b34 --- /dev/null +++ b/Library/Homebrew/test/utils/bottles/bottles_spec.rb @@ -0,0 +1,80 @@ +require "utils/bottles" + +describe Utils::Bottles do +  describe "#tag", :needs_macos do +    it "returns :tiger_foo on Tiger PowerPC" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.4")) +      allow(Hardware::CPU).to receive(:type).and_return(:ppc) +      allow(Hardware::CPU).to receive(:family).and_return(:foo) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(false) +      expect(described_class.tag).to eq(:tiger_foo) +    end + +    it "returns :tiger on Tiger Intel" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.4")) +      allow(Hardware::CPU).to receive(:type).and_return(:intel) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(false) +      expect(described_class.tag).to eq(:tiger) +    end + +    it "returns :tiger_g5_64 on Tiger PowerPC 64-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.4")) +      allow(Hardware::CPU).to receive(:type).and_return(:ppc) +      allow(Hardware::CPU).to receive(:family).and_return(:g5) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(true) +      expect(described_class.tag).to eq(:tiger_g5_64) +    end + +    # Note that this will probably never be used +    it "returns :tiger_64 on Tiger Intel 64-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.4")) +      allow(Hardware::CPU).to receive(:type).and_return(:intel) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(true) +      expect(described_class.tag).to eq(:tiger_64) +    end + +    it "returns :leopard on Leopard Intel" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.5")) +      allow(Hardware::CPU).to receive(:type).and_return(:intel) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(false) +      expect(described_class.tag).to eq(:leopard) +    end + +    it "returns :leopard_g5_64 on Leopard PowerPC 64-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.5")) +      allow(Hardware::CPU).to receive(:type).and_return(:ppc) +      allow(Hardware::CPU).to receive(:family).and_return(:g5) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(true) +      expect(described_class.tag).to eq(:leopard_g5_64) +    end + +    it "returns :leopard_64 on Leopard Intel 64-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.5")) +      allow(Hardware::CPU).to receive(:type).and_return(:intel) +      allow(MacOS).to receive(:prefer_64_bit?).and_return(true) +      expect(described_class.tag).to eq(:leopard_64) +    end + +    it "returns :snow_leopard_32 on Snow Leopard 32-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.6")) +      allow(Hardware::CPU).to receive(:is_64_bit?).and_return(false) +      expect(described_class.tag).to eq(:snow_leopard_32) +    end + +    it "returns :snow_leopard on Snow Leopard 64-bit" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.6")) +      allow(Hardware::CPU).to receive(:is_64_bit?).and_return(true) +      expect(described_class.tag).to eq(:snow_leopard) +    end + +    it "returns :lion on Lion" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.7")) +      expect(described_class.tag).to eq(:lion) +    end + +    it "returns :mountain_lion on Mountain Lion" do +      allow(MacOS).to receive(:version).and_return(MacOS::Version.new("10.8")) +      expect(described_class.tag).to eq(:mountain_lion) +    end +  end +end  | 
