Class: Validator::FormatterBase
  
  
  
  
  
    - Inherits:
 
    - 
      Object
      
        
          - Object
 
          
            - Validator::FormatterBase
 
          
        
        show all
      
     
  
  
  
  
  
  
  
  
  
  
    - Defined in:
 
    - spec/support/formatters/formatter_base.rb
 
  
  
 
  
    
      Instance Method Summary
      collapse
    
    
  
  Constructor Details
  
    
  
  
    
Returns a new instance of FormatterBase.
   
 
  
  
    
      
6
7
8
9 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 6
def initialize output
  @output = output
  @groups = []
end 
     | 
  
 
  
 
  
    Instance Method Details
    
      
  
  
    #close(notification)  ⇒ Object 
  
  
  
  
    
      
66
67
68 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 66
def close notification
  @output << "\n"
end 
     | 
  
 
    
      
  
  
    #colorize(str, color)  ⇒ Object 
  
  
  
  
    
      
11
12
13 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 11
def colorize str, color
  RSpec::Core::Formatters::ConsoleCodes.wrap str, color
end 
     | 
  
 
    
      
  
  
    #dump_failures(notification)  ⇒ Object 
  
  
  
  
    
      
44
45
46
47
48 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 44
def dump_failures notification
  if notification.failed_examples.any?
    @output << notification.fully_formatted_failed_examples
  end
end
     | 
  
 
    
      
  
  
    #dump_pending(notification)  ⇒ Object 
  
  
  
  
    
      
27
28
29
30
31 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 27
def dump_pending notification
  if notification.pending_examples.any?
    @output << notification.fully_formatted_pending_examples
  end
end
     | 
  
 
    
      
  
  
    #dump_sentinel_summary  ⇒ Object 
  
  
  
  
    
      
55
56
57
58
59
60
61
62
63
64 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 55
def dump_sentinel_summary
  return unless Validator::Tester.sentinel_errors.any?
  num = Validator::Tester.sentinel_errors.size
  str = "#{num} sentinel warnings:"
  str = colorize(str,:yellow) if num > 0
  @output << "\n#{str}\n\n"
  histogram = Validator::Tester.sentinel_errors.dup.inject(Hash.new(0)) { |h, x| h[x.class] += 1; h }.each_pair do |err,num|
    @output << colorize("  #{num} #{err}\n",:yellow)
  end
end
     | 
  
 
    
      
  
  
    #dump_sentinel_warnings  ⇒ Object 
  
  
  
  
    
      
33
34
35
36
37
38
39
40
41
42 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 33
def dump_sentinel_warnings
  warnings = Validator::Tester.sentinel_errors
  if warnings.any?
    @output << "\n\nSentinel warnings:\n\n"
    warnings.each.with_index(1) do |warning,i|
      @output << colorize("#{i.to_s.rjust(4)}) #{warning.class}\n",:yellow)
      @output << "      #{warning.message.capitalize}\n\n"
    end
  end
end
     | 
  
 
    
      
  
  
    #dump_summary(notification)  ⇒ Object 
  
  
  
  
    
      
50
51
52
53 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 50
def dump_summary notification
  @output << notification.fully_formatted
  dump_sentinel_summary
end 
     | 
  
 
    
      
  
  
    #example_group_finished(notification)  ⇒ Object 
  
  
  
  
    
      
19
20
21 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 19
def example_group_finished notification
  @groups.pop
end 
     | 
  
 
    
      
  
  
    #example_group_started(notification)  ⇒ Object 
  
  
  
  
    
      
15
16
17 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 15
def example_group_started notification
  @groups.push notification.group.description
end 
     | 
  
 
    
      
  
  
    #start(notification)  ⇒ Object 
  
  
  
  
    
      
23
24
25 
     | 
    
      # File 'spec/support/formatters/formatter_base.rb', line 23
def start notification
  @output << "\n"
end 
     |