Add specs for CaskLoader.

This commit is contained in:
Markus Reiter 2017-10-08 15:48:54 +02:00
parent cbd9715e5b
commit efbc1b0cb4
2 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,57 @@
describe Hbc::CaskLoader::FromContentLoader do
alias_matcher :be_able_to_load, :be_can_load
describe "::can_load?" do
it "returns true for Casks specified with `cask \"token\" do … end`" do
expect(described_class).to be_able_to_load <<~EOS
cask "token" do
end
EOS
end
it "returns true for Casks specified with `cask \"token\" do; end`" do
expect(described_class).to be_able_to_load <<~EOS
cask "token" do; end
EOS
end
it "returns true for Casks specified with `cask 'token' do … end`" do
expect(described_class).to be_able_to_load <<~EOS
cask 'token' do
end
EOS
end
it "returns true for Casks specified with `cask 'token' do; end`" do
expect(described_class).to be_able_to_load <<~EOS
cask 'token' do; end
EOS
end
it "returns true for Casks specified with `cask(\"token\") { … }`" do
expect(described_class).to be_able_to_load <<~EOS
cask("token") {
}
EOS
end
it "returns true for Casks specified with `cask(\"token\") {}`" do
expect(described_class).to be_able_to_load <<~EOS
cask("token") {}
EOS
end
it "returns true for Casks specified with `cask('token') { … }`" do
expect(described_class).to be_able_to_load <<~EOS
cask('token') {
}
EOS
end
it "returns true for Casks specified with `cask('token') {}`" do
expect(described_class).to be_able_to_load <<~EOS
cask('token') {}
EOS
end
end
end

View File

@ -0,0 +1,21 @@
describe Hbc::CaskLoader::FromURILoader do
alias_matcher :be_able_to_load, :be_can_load
describe "::can_load?" do
it "returns true when given an URI" do
expect(described_class).to be_able_to_load(URI("http://example.com/"))
end
it "returns true when given a String which can be parsed to a URI" do
expect(described_class).to be_able_to_load("http://example.com/")
end
it "returns false when given a String with Cask contents containing a URL" do
expect(described_class).not_to be_able_to_load <<~EOS
cask 'token' do
url 'http://example.com/'
end
EOS
end
end
end