Sha256: be340e1c135bfac0a68ad95fdadb3aadcae7038115ad8caa82ee5332d38f3918

Contents?: true

Size: 1.43 KB

Versions: 18

Compression:

Stored size: 1.43 KB

Contents

module Rcov

  class FullTextReport < BaseFormatter # :nodoc:
    DEFAULT_OPTS = {:textmode => :coverage}
  
    def initialize(opts = {})
      options = DEFAULT_OPTS.clone.update(opts)
      @textmode = options[:textmode]
      @color = options[:color]
      super(options)
    end

    def execute
      each_file_pair_sorted do |filename, fileinfo|
        puts "=" * 80
        puts filename
        puts "=" * 80
        lines = SCRIPT_LINES__[filename]
      
        unless lines
          # try to get the source code from the global code coverage
          # analyzer
          re = /#{Regexp.escape(filename)}\z/
          if $rcov_code_coverage_analyzer and
            (data = $rcov_code_coverage_analyzer.data_matching(re))
            lines = data[0]
          end
        end
      
        (lines || []).each_with_index do |line, i|
        
          case @textmode
          when :counts
            puts "%-70s| %6d" % [line.chomp[0,70], fileinfo.counts[i]]
          when :gcc
            puts "%s:%d:%s" % [filename, i+1, line.chomp] unless fileinfo.coverage[i]
          when :coverage
            if @color
              prefix = fileinfo.coverage[i] ? "\e[32;40m" : "\e[31;40m"
              puts "#{prefix}%s\e[37;40m" % line.chomp
            else
              prefix = fileinfo.coverage[i] ? "   " : "!! "
              puts "#{prefix}#{line}"
            end
          end
        
        end
      
      end
    
    end
  
  end
  
end

Version data entries

18 entries across 18 versions & 4 rubygems

Version Path
jruby-rcov-0.8.2.1-java lib/rcov/formatters/full_text_report.rb
jruby-rcov-0.8.2.2-java lib/rcov/formatters/full_text_report.rb
mchung-rcov-0.8.3.3 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.0 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.1 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.2 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.3 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.4 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.5 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.6 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.8 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.3.9 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.4.1 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.4 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.5.1 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.5.2 lib/rcov/formatters/full_text_report.rb
relevance-rcov-0.8.5 lib/rcov/formatters/full_text_report.rb
valo-rcov-0.8.3.4 lib/rcov/formatters/full_text_report.rb