module HamlLint::Spec::Matchers::ReportLint
Matcher to assert linter reports and their details
Public Instance Methods
extended_expectations(expected_line, expected_message, expected_severity)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 59 def extended_expectations(expected_line, expected_message, expected_severity) (expected_line ? " on line #{expected_line}" : '') + (expected_message ? " with message '#{expected_message}'" : '') + (expected_severity ? " with severity '#{expected_severity}'" : '') end
has_expected_line_lints?(linter, expected_line, count, expected_message, expected_severity)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 81 def has_expected_line_lints?(linter, expected_line, count, expected_message, expected_severity) if count multiple_lints_match_line?(linter, expected_line, count) elsif expected_message lint_on_line_matches_message?(linter, expected_line, expected_message) elsif expected_severity lint_on_line_matches_severity?(linter, expected_line, expected_severity) else lint_lines(linter).include?(expected_line) end end
has_lints?(linter, expected_line, count, expected_message, expected_severity)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 65 def has_lints?(linter, expected_line, count, expected_message, expected_severity) if expected_line has_expected_line_lints?(linter, expected_line, count, expected_message, expected_severity) elsif count linter.lints.count == count elsif expected_message lint_messages_match?(linter, expected_message) else linter.lints.any? end end
lint_lines(linter)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 118 def lint_lines(linter) linter.lints.map(&:line) end
lint_messages(linter)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 122 def lint_messages(linter) linter.lints.map(&:message) end
lint_messages_match?(linter, expected_message)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 114 def lint_messages_match?(linter, expected_message) lint_messages(linter).all? { |message| message == expected_message } end
lint_on_line_matches_message?(linter, expected_line, expected_message)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 102 def lint_on_line_matches_message?(linter, expected_line, expected_message) linter .lints .any? { |lint| lint.line == expected_line && lint.message == expected_message } end
lint_on_line_matches_severity?(linter, expected_line, expected_severity)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 108 def lint_on_line_matches_severity?(linter, expected_line, expected_severity) linter .lints .any? { |lint| lint.line == expected_line && lint.severity == expected_severity } end
multiple_lints_match_line?(linter, expected_line, count)
click to toggle source
# File lib/haml_lint/spec/matchers/report_lint.rb, line 97 def multiple_lints_match_line?(linter, expected_line, count) linter.lints.count == count && lint_lines(linter).all? { |line| line == expected_line } end