shard-ameba/spec/ameba/rule/trailing_whitespace_spec.cr

28 lines
791 B
Crystal
Raw Normal View History

2017-10-30 20:35:11 +00:00
require "../../spec_helper"
2017-11-07 21:50:25 +00:00
module Ameba::Rule
2017-10-30 20:35:11 +00:00
subject = TrailingWhitespace.new
describe TrailingWhitespace do
it "passes if all lines do not have trailing whitespace" do
2017-10-31 18:29:30 +00:00
source = Source.new "no-whispace"
2017-11-01 20:05:41 +00:00
subject.catch(source).should be_valid
2017-10-30 20:35:11 +00:00
end
it "fails if there is a line with trailing whitespace" do
2017-10-31 18:29:30 +00:00
source = Source.new "whitespace at the end "
2017-11-01 20:05:41 +00:00
subject.catch(source).should_not be_valid
2017-10-30 20:35:11 +00:00
end
it "reports rule, pos and message" do
source = Source.new "a = 1\n b = 2 ", "source.cr"
2017-11-01 20:05:41 +00:00
subject.catch(source).should_not be_valid
2017-10-30 20:35:11 +00:00
error = source.errors.first
error.rule.should_not be_nil
error.location.to_s.should eq "source.cr:2:7"
2017-10-30 20:35:11 +00:00
error.message.should eq "Trailing whitespace detected"
end
end
end