Sha256: 6d9c3559e45de6c8483bc87b396c05e104f3ef2dea90e083aa6bf6b450180a99

Contents?: true

Size: 800 Bytes

Versions: 1

Compression:

Stored size: 800 Bytes

Contents

# frozen_string_literal: true

# test_coverage reporter for Solargraph
module SolargraphTestCoverage
  class TestCoverageReporter < Solargraph::Diagnostics::Base
    include ReporterHelpers
    include ReporterGuards
    include DiagnosticMessages

    def diagnose(source, _api_map)
      return [] if source.code.empty? || using_debugger?(source) || exclude_file?(source) || is_test_file?(source)
      return [test_missing_error(source)] unless has_test_file?(source)

      results = run_test(source, FileHelpers.test_file(source))

      [
        line_warnings(source, results),
        branch_warnings(source, results),
        test_passing_error(source, results)
      ].flatten.compact
    rescue ChildFailedError => e
      Config.debug? ? [debug_message(e, source)] : []
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solargraph_test_coverage-0.3.0 lib/solargraph_test_coverage/test_coverage_reporter.rb