aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/descriptions_spec.rb
blob: c4f67cc4cfd67b469017b2d197953d61a243d969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
require "descriptions"

describe Descriptions do
  subject { described_class.new(descriptions_hash) }
  let(:descriptions_hash) { {} }

  it "can print description for a core Formula" do
    descriptions_hash["homebrew/core/foo"] = "Core foo"
    expect { subject.print }.to output("foo: Core foo\n").to_stdout
  end

  it "can print description for an external Formula" do
    descriptions_hash["somedev/external/foo"] = "External foo"
    expect { subject.print }.to output("foo: External foo\n").to_stdout
  end

  it "can print descriptions for duplicate Formulae" do
    descriptions_hash["homebrew/core/foo"] = "Core foo"
    descriptions_hash["somedev/external/foo"] = "External foo"

    expect { subject.print }.to output(
      <<~EOS
        homebrew/core/foo: Core foo
        somedev/external/foo: External foo
      EOS
    ).to_stdout
  end

  it "can print descriptions for duplicate core and external Formulae" do
    descriptions_hash["homebrew/core/foo"] = "Core foo"
    descriptions_hash["somedev/external/foo"] = "External foo"
    descriptions_hash["otherdev/external/foo"] = "Other external foo"

    expect { subject.print }.to output(
      <<~EOS
        homebrew/core/foo: Core foo
        otherdev/external/foo: Other external foo
        somedev/external/foo: External foo
      EOS
    ).to_stdout
  end
end