brew/Library/Homebrew/test/bottle_filename_spec.rb

62 lines
1.8 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2017-02-27 18:33:42 +01:00
require "formula"
require "software_spec"
RSpec.describe Bottle::Filename do
2024-03-17 22:47:37 -07:00
subject(:filename) { described_class.new(name, version, tag, rebuild) }
2017-02-27 18:33:42 +01:00
let(:name) { "user/repo/foo" }
2024-01-01 17:46:48 +00:00
let(:version) { PkgVersion.new(Version.new("1.0"), 0) }
let(:tag) { Utils::Bottles::Tag.from_symbol(:x86_64_linux) }
2018-08-06 15:02:52 +02:00
let(:rebuild) { 0 }
2017-02-27 18:33:42 +01:00
2018-08-06 15:02:52 +02:00
describe "#extname" do
2024-03-17 22:47:37 -07:00
it(:extname) { expect(filename.extname).to eq ".x86_64_linux.bottle.tar.gz" }
2017-02-27 18:33:42 +01:00
2018-08-06 15:02:52 +02:00
context "when rebuild is 0" do
2024-03-17 22:47:37 -07:00
it(:extname) { expect(filename.extname).to eq ".x86_64_linux.bottle.tar.gz" }
2018-08-06 15:02:52 +02:00
end
2017-02-27 18:33:42 +01:00
2018-08-06 15:02:52 +02:00
context "when rebuild is 1" do
let(:rebuild) { 1 }
2018-09-20 09:07:56 +01:00
2024-03-17 22:47:37 -07:00
it(:extname) { expect(filename.extname).to eq ".x86_64_linux.bottle.1.tar.gz" }
2018-08-06 15:02:52 +02:00
end
end
2017-02-27 18:33:42 +01:00
2018-08-06 15:02:52 +02:00
describe "#to_s and #to_str" do
2024-03-17 22:47:37 -07:00
it(:to_s) { expect(filename.to_s).to eq "foo--1.0.x86_64_linux.bottle.tar.gz" }
it(:to_str) { expect(filename.to_str).to eq "foo--1.0.x86_64_linux.bottle.tar.gz" }
2017-02-27 18:33:42 +01:00
end
describe "#url_encode" do
2024-03-17 22:47:37 -07:00
it(:url_encode) { expect(filename.url_encode).to eq "foo-1.0.x86_64_linux.bottle.tar.gz" }
end
describe "#github_packages" do
2024-03-17 22:47:37 -07:00
it(:github_packages) { expect(filename.github_packages).to eq "foo--1.0.x86_64_linux.bottle.tar.gz" }
2018-08-06 15:02:52 +02:00
end
describe "#json" do
2024-03-17 22:47:37 -07:00
it(:json) { expect(filename.json).to eq "foo--1.0.x86_64_linux.bottle.json" }
2018-08-06 15:02:52 +02:00
context "when rebuild is 1" do
2024-03-17 22:47:37 -07:00
it(:json) { expect(filename.json).to eq "foo--1.0.x86_64_linux.bottle.json" }
2017-02-27 18:33:42 +01:00
end
2018-08-06 15:02:52 +02:00
end
describe "::create" do
2024-03-17 22:47:37 -07:00
subject(:filename) { described_class.create(f, tag, rebuild) }
2018-08-06 15:02:52 +02:00
let(:f) do
2018-08-06 15:02:52 +02:00
formula do
url "https://brew.sh/foo.tar.gz"
2018-08-06 15:02:52 +02:00
version "1.0"
end
end
2017-02-27 18:33:42 +01:00
2024-03-17 22:47:37 -07:00
it(:to_s) { expect(filename.to_s).to eq "formula_name--1.0.x86_64_linux.bottle.tar.gz" }
2017-02-27 18:33:42 +01:00
end
end