brew/Library/Homebrew/test/utils/github/actions_spec.rb
Douglas Eichelberger 9075cbae62 brew style --fix
2023-04-21 09:58:50 -07:00

51 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require "utils/github/actions"
describe GitHub::Actions::Annotation do
let(:message) { "lorem ipsum" }
describe "#new" do
it "fails when the type is wrong" do
expect do
described_class.new(:fatal, message, file: "file.txt")
end.to raise_error(ArgumentError)
end
end
describe "#to_s" do
it "escapes newlines" do
annotation = described_class.new(:warning, <<~EOS, file: "file.txt")
lorem
ipsum
EOS
expect(annotation.to_s).to eq "::warning file=file.txt::lorem%0Aipsum%0A"
end
it "allows specifying the file" do
annotation = described_class.new(:warning, "lorem ipsum", file: "file.txt")
expect(annotation.to_s).to eq "::warning file=file.txt::lorem ipsum"
end
it "allows specifying the title" do
annotation = described_class.new(:warning, "lorem ipsum", file: "file.txt", title: "foo")
expect(annotation.to_s).to eq "::warning file=file.txt,title=foo::lorem ipsum"
end
it "allows specifying the file and line" do
annotation = described_class.new(:error, "lorem ipsum", file: "file.txt", line: 3)
expect(annotation.to_s).to eq "::error file=file.txt,line=3::lorem ipsum"
end
it "allows specifying the file, line and column" do
annotation = described_class.new(:error, "lorem ipsum", file: "file.txt", line: 3, column: 18)
expect(annotation.to_s).to eq "::error file=file.txt,line=3,col=18::lorem ipsum"
end
end
end