mirror of
https://gitea.invidious.io/iv-org/shard-ameba.git
synced 2024-08-15 00:53:29 +00:00
49 lines
1.1 KiB
Crystal
49 lines
1.1 KiB
Crystal
|
require "../../../spec_helper"
|
||
|
|
||
|
module Ameba::Rule::Lint
|
||
|
describe Formatting do
|
||
|
subject = Formatting.new
|
||
|
|
||
|
it "passes if source is formatted" do
|
||
|
expect_no_issues subject, <<-CRYSTAL
|
||
|
def method(a, b)
|
||
|
a + b
|
||
|
end
|
||
|
|
||
|
CRYSTAL
|
||
|
end
|
||
|
|
||
|
it "reports if source is not formatted" do
|
||
|
expect_issue subject, <<-CRYSTAL
|
||
|
def method(a,b)
|
||
|
# ^{} error: Use built-in formatter to format this source
|
||
|
end
|
||
|
CRYSTAL
|
||
|
end
|
||
|
|
||
|
context "properties" do
|
||
|
context "#fail_on_error" do
|
||
|
it "passes on formatter errors by default" do
|
||
|
rule = Formatting.new
|
||
|
|
||
|
expect_no_issues rule, <<-CRYSTAL
|
||
|
def method(a, b)
|
||
|
a + b
|
||
|
CRYSTAL
|
||
|
end
|
||
|
|
||
|
it "reports on formatter errors when enabled" do
|
||
|
rule = Formatting.new
|
||
|
rule.fail_on_error = true
|
||
|
|
||
|
expect_issue rule, <<-CRYSTAL
|
||
|
def method(a, b)
|
||
|
a + b
|
||
|
# ^ error: Error while formatting: expecting identifier 'end', not 'EOF'
|
||
|
CRYSTAL
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|