Ameba::Rule -> Ameba::Rule::Base

This commit is contained in:
Vitalii Elenhaupt 2017-11-07 23:50:25 +02:00
parent b6c0d3e8ad
commit 80e2ab4f55
No known key found for this signature in database
GPG key ID: 7558EF3A4056C706
39 changed files with 79 additions and 73 deletions

View file

@ -1,7 +1,7 @@
require "../../spec/spec_helper"
module Ameba
describe Rule do
describe Rule::Base do
describe "#catch" do
it "accepts and returns source" do
s = Source.new "", ""
@ -14,7 +14,9 @@ module Ameba
DummyRule.new.name.should eq "Ameba::DummyRule"
end
end
end
describe Rule do
describe ".rules" do
it "returns a list of all defined rules" do
Rule.rules.includes?(DummyRule).should be_true

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = ComparisonToBoolean.new
describe ComparisonToBoolean do

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::ConstantNames.new
subject = Rule::ConstantNames.new
private def it_reports_constant(code, expected)
it "reports constant name #{expected}" do
s = Source.new code
Rules::ConstantNames.new.catch(s).should_not be_valid
Rule::ConstantNames.new.catch(s).should_not be_valid
s.errors.first.message.should contain expected
end
end
describe Rules::ConstantNames do
describe Rule::ConstantNames do
it "passes if type names are screaming-cased" do
s = Source.new %(
LUCKY_NUMBERS = [3, 7, 11]

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = DebuggerStatement.new
describe DebuggerStatement do

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::EmptyExpression.new
subject = Rule::EmptyExpression.new
def it_detects_empty_expression(code)
it "detects empty expression" do
s = Source.new code
rule = Rules::EmptyExpression.new
rule = Rule::EmptyExpression.new
rule.catch(s).should_not be_valid
end
end
describe Rules::EmptyExpression do
describe Rule::EmptyExpression do
it "passes if there is no empty expression" do
s = Source.new %(
def method()

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::LargeNumbers.new
subject = Rule::LargeNumbers.new
private def it_transforms(number, expected)
it "transforms large number #{number}" do
s = Source.new number
Rules::LargeNumbers.new.catch(s).should_not be_valid
Rule::LargeNumbers.new.catch(s).should_not be_valid
s.errors.first.message.should contain expected
end
end
describe Rules::LargeNumbers do
describe Rule::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

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = LineLength.new
long_line = "*" * 81

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = LiteralInCondition.new
describe LiteralInCondition do

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = LiteralInInterpolation.new
describe LiteralInInterpolation do

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::MethodNames.new
subject = Rule::MethodNames.new
private def it_reports_method_name(code, expected)
it "reports method name #{expected}" do
s = Source.new code
Rules::MethodNames.new.catch(s).should_not be_valid
Rule::MethodNames.new.catch(s).should_not be_valid
s.errors.first.message.should contain expected
end
end
describe Rules::MethodNames do
describe Rule::MethodNames do
it "passes if method names are underscore-cased" do
s = Source.new %(
class Person

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = NegatedConditionsInUnless.new
describe NegatedConditionsInUnless do

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = PredicateName.new
describe PredicateName do

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = TrailingBlankLines.new
describe TrailingBlankLines do

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = TrailingWhitespace.new
describe TrailingWhitespace do

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::TypeNames.new
subject = Rule::TypeNames.new
private def it_reports_name(code, expected)
it "reports type name #{expected}" do
s = Source.new code
Rules::TypeNames.new.catch(s).should_not be_valid
Rule::TypeNames.new.catch(s).should_not be_valid
s.errors.first.message.should contain expected
end
end
describe Rules::TypeNames do
describe Rule::TypeNames do
it "passes if type names are camelcased" do
s = Source.new %(
class ParseError < Exception

View file

@ -1,6 +1,6 @@
require "../../spec_helper"
module Ameba::Rules
module Ameba::Rule
subject = UnlessElse.new
describe UnlessElse do

View file

@ -1,17 +1,17 @@
require "../../spec_helper"
module Ameba
subject = Rules::VariableNames.new
subject = Rule::VariableNames.new
private def it_reports_var_name(code, expected)
it "reports method name #{expected}" do
s = Source.new code
Rules::VariableNames.new.catch(s).should_not be_valid
Rule::VariableNames.new.catch(s).should_not be_valid
s.errors.first.message.should contain expected
end
end
describe Rules::VariableNames do
describe Rule::VariableNames do
it "passes if var names are underscore-cased" do
s = Source.new %(
class Greeting

View file

@ -2,7 +2,7 @@ require "spec"
require "../src/ameba"
module Ameba
struct DummyRule < Ameba::Rule
struct DummyRule < Rule::Base
def test(source)
end
end