mirror of
https://gitea.invidious.io/iv-org/shard-ameba.git
synced 2024-08-15 00:53:29 +00:00
Add rule namespaces: style, lint, layout (#63)
This commit is contained in:
parent
d9f04af057
commit
4cb5328513
71 changed files with 128 additions and 128 deletions
|
@ -21,8 +21,8 @@ module Ameba::Formatter
|
|||
end
|
||||
subject.finished [s]
|
||||
log = output.to_s
|
||||
log.should contain "#{path}:1 #{ErrorRule.name}"
|
||||
log.should contain "#{path}:2 #{NamedRule.name}"
|
||||
log.should contain "#{path}:1 #{ErrorRule.rule_name}"
|
||||
log.should contain "#{path}:2 #{NamedRule.rule_name}"
|
||||
ensure
|
||||
output.clear
|
||||
Colorize.enabled = true
|
||||
|
@ -35,7 +35,7 @@ module Ameba::Formatter
|
|||
message: "NamedRule", status: :disabled)
|
||||
end
|
||||
subject.finished [s]
|
||||
output.to_s.should_not contain ErrorRule.name
|
||||
output.to_s.should_not contain ErrorRule.rule_name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ module Ameba::Formatter
|
|||
subject = flycheck
|
||||
subject.source_finished s
|
||||
subject.output.to_s.should eq(
|
||||
"source.cr:1:2: E: [#{DummyRule.name}] message\n"
|
||||
"source.cr:1:2: E: [#{DummyRule.rule_name}] message\n"
|
||||
)
|
||||
end
|
||||
|
||||
|
@ -32,7 +32,7 @@ module Ameba::Formatter
|
|||
subject = flycheck
|
||||
subject.source_finished s
|
||||
subject.output.to_s.should eq(
|
||||
"source.cr:1:2: E: [#{DummyRule.name}] multi line\n"
|
||||
"source.cr:1:2: E: [#{DummyRule.rule_name}] multi line\n"
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ module Ameba
|
|||
s.add_issue DummyRule.new, {1, 2}, "message1"
|
||||
|
||||
result = get_result [s]
|
||||
result["sources"][0]["issues"][0]["rule_name"].should eq DummyRule.name
|
||||
result["sources"][0]["issues"][0]["rule_name"].should eq DummyRule.rule_name
|
||||
end
|
||||
|
||||
it "shows a message" do
|
||||
|
|
|
@ -57,7 +57,7 @@ module Ameba
|
|||
formatter = Formatter::TODOFormatter.new IO::Memory.new, file
|
||||
|
||||
s = Source.new "def invalid_syntax"
|
||||
s.add_issue Rule::Syntax.new, {1, 2}, "message"
|
||||
s.add_issue Rule::Lint::Syntax.new, {1, 2}, "message"
|
||||
|
||||
formatter.finished [s]
|
||||
content = file.to_s
|
||||
|
|
|
@ -11,7 +11,7 @@ module Ameba
|
|||
|
||||
describe "#name" do
|
||||
it "returns name of the rule" do
|
||||
DummyRule.new.name.should eq "Ameba::DummyRule"
|
||||
DummyRule.new.name.should eq "Ameba/DummyRule"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Layout
|
||||
subject = LineLength.new
|
||||
long_line = "*" * 81
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Layout
|
||||
subject = TrailingBlankLines.new
|
||||
|
||||
describe TrailingBlankLines do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Layout
|
||||
subject = TrailingWhitespace.new
|
||||
|
||||
describe TrailingWhitespace do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = ComparisonToBoolean.new
|
||||
|
||||
describe ComparisonToBoolean do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = DebuggerStatement.new
|
||||
|
||||
describe DebuggerStatement do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe EmptyEnsure do
|
||||
subject = EmptyEnsure.new
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::EmptyExpression.new
|
||||
subject = Rule::Lint::EmptyExpression.new
|
||||
|
||||
def it_detects_empty_expression(code)
|
||||
it "detects empty expression" do
|
||||
s = Source.new code
|
||||
rule = Rule::EmptyExpression.new
|
||||
rule = Rule::Lint::EmptyExpression.new
|
||||
rule.catch(s).should_not be_valid
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::EmptyExpression do
|
||||
describe Rule::Lint::EmptyExpression do
|
||||
it "passes if there is no empty expression" do
|
||||
s = Source.new %(
|
||||
def method()
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe HashDuplicatedKey do
|
||||
subject = HashDuplicatedKey.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = LiteralInCondition.new
|
||||
|
||||
describe LiteralInCondition do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = LiteralInInterpolation.new
|
||||
|
||||
describe LiteralInInterpolation do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe PercentArrays do
|
||||
subject = PercentArrays.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe RandZero do
|
||||
subject = RandZero.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe ShadowedArgument do
|
||||
subject = ShadowedArgument.new
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
private def check_shadowed(source, exceptions)
|
||||
s = Ameba::Source.new source
|
||||
Ameba::Rule::ShadowedException.new.catch(s).should_not be_valid
|
||||
Ameba::Rule::Lint::ShadowedException.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain exceptions.join(", ")
|
||||
end
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe ShadowedException do
|
||||
subject = ShadowedException.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe ShadowingOuterLocalVar do
|
||||
subject = ShadowingOuterLocalVar.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe Syntax do
|
||||
subject = Syntax.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe UnneededDisableDirective do
|
||||
subject = UnneededDisableDirective.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = UnusedArgument.new
|
||||
subject.ignore_defs = false
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
describe UselessAssign do
|
||||
subject = UselessAssign.new
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Lint
|
||||
subject = UselessConditionInWhen.new
|
||||
|
||||
describe UselessConditionInWhen do
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::ConstantNames.new
|
||||
subject = Rule::Style::ConstantNames.new
|
||||
|
||||
private def it_reports_constant(code, expected)
|
||||
it "reports constant name #{expected}" do
|
||||
s = Source.new code
|
||||
Rule::ConstantNames.new.catch(s).should_not be_valid
|
||||
Rule::Style::ConstantNames.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain expected
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::ConstantNames do
|
||||
describe Rule::Style::ConstantNames do
|
||||
it "passes if type names are screaming-cased" do
|
||||
s = Source.new %(
|
||||
LUCKY_NUMBERS = [3, 7, 11]
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::LargeNumbers.new
|
||||
subject = Rule::Style::LargeNumbers.new
|
||||
|
||||
private def it_transforms(number, expected)
|
||||
it "transforms large number #{number}" do
|
||||
s = Source.new number
|
||||
Rule::LargeNumbers.new.catch(s).should_not be_valid
|
||||
Rule::Style::LargeNumbers.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain expected
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::LargeNumbers do
|
||||
describe Rule::Style::LargeNumbers do
|
||||
it "passes if large number does not require underscore" do
|
||||
s = Source.new %q(
|
||||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
||||
|
@ -124,7 +124,7 @@ module Ameba
|
|||
context "properties" do
|
||||
it "allows to configure integer min digits" do
|
||||
s = Source.new %q(1200000)
|
||||
rule = Rule::LargeNumbers.new
|
||||
rule = Rule::Style::LargeNumbers.new
|
||||
rule.int_min_digits = 10
|
||||
rule.catch(s).should be_valid
|
||||
end
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::MethodNames.new
|
||||
subject = Rule::Style::MethodNames.new
|
||||
|
||||
private def it_reports_method_name(code, expected)
|
||||
it "reports method name #{expected}" do
|
||||
s = Source.new code
|
||||
Rule::MethodNames.new.catch(s).should_not be_valid
|
||||
Rule::Style::MethodNames.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain expected
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::MethodNames do
|
||||
describe Rule::Style::MethodNames do
|
||||
it "passes if method names are underscore-cased" do
|
||||
s = Source.new %(
|
||||
class Person
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Style
|
||||
subject = NegatedConditionsInUnless.new
|
||||
|
||||
describe NegatedConditionsInUnless do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Style
|
||||
subject = PredicateName.new
|
||||
|
||||
describe PredicateName do
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Style
|
||||
describe RedundantBegin do
|
||||
subject = RedundantBegin.new
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::TypeNames.new
|
||||
subject = Rule::Style::TypeNames.new
|
||||
|
||||
private def it_reports_name(code, expected)
|
||||
it "reports type name #{expected}" do
|
||||
s = Source.new code
|
||||
Rule::TypeNames.new.catch(s).should_not be_valid
|
||||
Rule::Style::TypeNames.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain expected
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::TypeNames do
|
||||
describe Rule::Style::TypeNames do
|
||||
it "passes if type names are camelcased" do
|
||||
s = Source.new %(
|
||||
class ParseError < Exception
|
|
@ -1,6 +1,6 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Style
|
||||
subject = UnlessElse.new
|
||||
|
||||
describe UnlessElse do
|
|
@ -1,17 +1,17 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
module Ameba
|
||||
subject = Rule::VariableNames.new
|
||||
subject = Rule::Style::VariableNames.new
|
||||
|
||||
private def it_reports_var_name(code, expected)
|
||||
it "reports method name #{expected}" do
|
||||
s = Source.new code
|
||||
Rule::VariableNames.new.catch(s).should_not be_valid
|
||||
Rule::Style::VariableNames.new.catch(s).should_not be_valid
|
||||
s.issues.first.message.should contain expected
|
||||
end
|
||||
end
|
||||
|
||||
describe Rule::VariableNames do
|
||||
describe Rule::Style::VariableNames do
|
||||
it "passes if var names are underscore-cased" do
|
||||
s = Source.new %(
|
||||
class Greeting
|
|
@ -1,4 +1,4 @@
|
|||
require "../../spec_helper"
|
||||
require "../../../spec_helper"
|
||||
|
||||
valid_source = <<-EOF
|
||||
a = 1
|
||||
|
@ -16,7 +16,7 @@ while true
|
|||
end
|
||||
EOF
|
||||
|
||||
module Ameba::Rule
|
||||
module Ameba::Rule::Style
|
||||
subject = WhileTrue.new
|
||||
|
||||
describe WhileTrue do
|
|
@ -54,16 +54,16 @@ module Ameba
|
|||
|
||||
context "invalid syntax" do
|
||||
it "reports a syntax error" do
|
||||
rules = [Rule::Syntax.new] of Rule::Base
|
||||
rules = [Rule::Lint::Syntax.new] of Rule::Base
|
||||
source = Source.new "def bad_syntax"
|
||||
|
||||
Runner.new(rules, [source], formatter).run
|
||||
source.should_not be_valid
|
||||
source.issues.first.rule.name.should eq Rule::Syntax.rule_name
|
||||
source.issues.first.rule.name.should eq Rule::Lint::Syntax.rule_name
|
||||
end
|
||||
|
||||
it "does not run other rules" do
|
||||
rules = [Rule::Syntax.new, Rule::ConstantNames.new] of Rule::Base
|
||||
rules = [Rule::Lint::Syntax.new, Rule::Style::ConstantNames.new] of Rule::Base
|
||||
source = Source.new %q(
|
||||
MyBadConstant = 1
|
||||
|
||||
|
@ -78,14 +78,14 @@ module Ameba
|
|||
|
||||
context "unneeded disables" do
|
||||
it "reports an issue if such disable exists" do
|
||||
rules = [Rule::UnneededDisableDirective.new] of Rule::Base
|
||||
rules = [Rule::Lint::UnneededDisableDirective.new] of Rule::Base
|
||||
source = Source.new %(
|
||||
a = 1 # ameba:disable LineLength
|
||||
)
|
||||
|
||||
Runner.new(rules, [source], formatter).run
|
||||
source.should_not be_valid
|
||||
source.issues.first.rule.name.should eq Rule::UnneededDisableDirective.rule_name
|
||||
source.issues.first.rule.name.should eq Rule::Lint::UnneededDisableDirective.rule_name
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue