mirror of
				https://gitea.invidious.io/iv-org/shard-ameba.git
				synced 2024-08-15 00:53:29 +00:00 
			
		
		
		
	Set default severities
This commit is contained in:
		
							parent
							
								
									0be42f94db
								
							
						
					
					
						commit
						f6a57f9272
					
				
					 5 changed files with 35 additions and 19 deletions
				
			
		| 
						 | 
					@ -33,5 +33,9 @@ module Ameba::Rule::Lint
 | 
				
			||||||
      issue.location.to_s.should eq "source.cr:1:11"
 | 
					      issue.location.to_s.should eq "source.cr:1:11"
 | 
				
			||||||
      issue.message.should eq "unexpected token: end (expected ';' or newline)"
 | 
					      issue.message.should eq "unexpected token: end (expected ';' or newline)"
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it "has highest severity" do
 | 
				
			||||||
 | 
					      subject.severity.should eq Severity::Error
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,12 +2,6 @@ require "../spec_helper"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module Ameba
 | 
					module Ameba
 | 
				
			||||||
  describe Severity do
 | 
					  describe Severity do
 | 
				
			||||||
    describe ".default" do
 | 
					 | 
				
			||||||
      it "returns default severity" do
 | 
					 | 
				
			||||||
        Severity.default.should eq Severity::Refactoring
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    describe ".from_name" do
 | 
					    describe ".from_name" do
 | 
				
			||||||
      it "creates error severity by name" do
 | 
					      it "creates error severity by name" do
 | 
				
			||||||
        Severity.from_name("Error").should eq Severity::Error
 | 
					        Severity.from_name("Error").should eq Severity::Error
 | 
				
			||||||
| 
						 | 
					@ -54,6 +48,20 @@ module Ameba
 | 
				
			||||||
        converted = SeverityConvertable.from_yaml(yaml)
 | 
					        converted = SeverityConvertable.from_yaml(yaml)
 | 
				
			||||||
        converted.severity.should eq Severity::Refactoring
 | 
					        converted.severity.should eq Severity::Refactoring
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it "raises if severity is not a scalar" do
 | 
				
			||||||
 | 
					        yaml = {severity: {refactoring: true}}.to_yaml
 | 
				
			||||||
 | 
					        expect_raises(Exception, "Severity must be a scalar") do
 | 
				
			||||||
 | 
					          SeverityConvertable.from_yaml(yaml)
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it "raises if severity has a wrong type" do
 | 
				
			||||||
 | 
					        yaml = {severity: [1, 2, 3]}.to_yaml
 | 
				
			||||||
 | 
					        expect_raises(Exception, "Severity must be a scalar") do
 | 
				
			||||||
 | 
					          SeverityConvertable.from_yaml(yaml)
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    describe ".to_yaml" do
 | 
					    describe ".to_yaml" do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -227,6 +227,11 @@ class Ameba::Config
 | 
				
			||||||
        {% properties["enabled".id] = {key: "Enabled", default: true, type: Bool} %}
 | 
					        {% properties["enabled".id] = {key: "Enabled", default: true, type: Bool} %}
 | 
				
			||||||
      {% end %}
 | 
					      {% end %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      {% if properties["severity".id] == nil %}
 | 
				
			||||||
 | 
					        {% default = @type.name.starts_with?("Ameba::Rule::Lint") ? "Severity::Warning".id : "Severity::Refactoring".id %}
 | 
				
			||||||
 | 
					        {% properties["severity".id] = {key: "Severity", default: default, type: Severity, converter: SeverityYamlConverter} %}
 | 
				
			||||||
 | 
					      {% end %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {% if properties["excluded".id] == nil %}
 | 
					      {% if properties["excluded".id] == nil %}
 | 
				
			||||||
        {% properties["excluded".id] = {key: "Excluded", type: "Array(String)?".id} %}
 | 
					        {% properties["excluded".id] = {key: "Excluded", type: "Array(String)?".id} %}
 | 
				
			||||||
      {% end %}
 | 
					      {% end %}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,10 @@ module Ameba::Rule::Lint
 | 
				
			||||||
  # ```
 | 
					  # ```
 | 
				
			||||||
  #
 | 
					  #
 | 
				
			||||||
  struct Syntax < Base
 | 
					  struct Syntax < Base
 | 
				
			||||||
    getter description = "Reports invalid Crystal syntax."
 | 
					    properties do
 | 
				
			||||||
 | 
					      description "Reports invalid Crystal syntax"
 | 
				
			||||||
 | 
					      severity Severity::Error
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def test(source)
 | 
					    def test(source)
 | 
				
			||||||
      source.ast
 | 
					      source.ast
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,10 +4,6 @@ module Ameba
 | 
				
			||||||
    Warning
 | 
					    Warning
 | 
				
			||||||
    Refactoring
 | 
					    Refactoring
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def self.default
 | 
					 | 
				
			||||||
      Refactoring
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def self.from_name(name : String)
 | 
					    def self.from_name(name : String)
 | 
				
			||||||
      case name.downcase
 | 
					      case name.downcase
 | 
				
			||||||
      when "error"
 | 
					      when "error"
 | 
				
			||||||
| 
						 | 
					@ -37,7 +33,7 @@ module Ameba
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def self.to_yaml(value : Severity, yaml : YAML::Nodes::Builder)
 | 
					    def self.to_yaml(value : Severity, yaml : YAML::Nodes::Builder)
 | 
				
			||||||
      yaml.scalar value.to_s
 | 
					      yaml.scalar value
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue