shard-ameba/spec/ameba/reportable_spec.cr

41 lines
1.1 KiB
Crystal

require "../spec_helper"
module Ameba
describe Reportable do
describe "#add_issue" do
it "adds a new issue for node" do
s = Source.new "", "source.cr"
s.add_issue(DummyRule.new, Crystal::Nop.new, "Error!")
issue = s.issues.first
issue.rule.should_not be_nil
issue.location.to_s.should eq ""
issue.message.should eq "Error!"
end
it "adds a new issue by line and column number" do
s = Source.new "", "source.cr"
s.add_issue(DummyRule.new, {23, 2}, "Error!")
issue = s.issues.first
issue.rule.should_not be_nil
issue.location.to_s.should eq "source.cr:23:2"
issue.message.should eq "Error!"
end
end
describe "#valid?" do
it "returns true if no issues added" do
s = Source.new "", "source.cr"
s.should be_valid
end
it "returns false if there are issues added" do
s = Source.new "", "source.cr"
s.add_issue DummyRule.new, {22, 2}, "ERROR!"
s.should_not be_valid
end
end
end
end