Class: AprilONeil::Formatters::KiwiProgress

Inherits:
BaseFormatter show all
Defined in:
lib/april_oneil/formatters/kiwi_progress.rb

Constant Summary collapse

DARK_GRAY_COLOR =
"333333"

Instance Method Summary collapse

Methods inherited from BaseFormatter

#analyzer_result, #before_start, #begin_action, #begin_build_command, #begin_status, #begin_test, #begin_test_suite, #begin_xcodebuild, #end_build_target, #end_ocunit, #end_status, #end_test_suite, #end_xcodebuild

Constructor Details

#initialize(output) ⇒ KiwiProgress

Returns a new instance of KiwiProgress.



9
10
11
12
13
14
15
16
17
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 9

def initialize(output)
  super(output)

  Sickill::Rainbow.enabled = true

  @passed  = []
  @pending = []
  @failed  = []
end

Instance Method Details

#after_endObject



71
72
73
74
75
76
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 71

def after_end
  @output.puts
  @output.print pending_summary
  @output.print failure_summary
  @output.print run_summary
end

#begin_build_target(opts) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 19

def begin_build_target(opts)
  project = opts['project']
  target  = opts['target']
  @output.puts if @test_target
  @output.puts "Building #{project} / #{target}"
  @test_target = target # assume last target is the test target
end

#begin_ocunit(opts) ⇒ Object



39
40
41
42
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 39

def begin_ocunit(opts)
  @output.puts
  @output.puts "Running Tests"
end

#end_action(opts) ⇒ Object



67
68
69
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 67

def end_action(opts)
  @summary = opts if opts["name"] == "test"
end

#end_build_command(opts) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 27

def end_build_command(opts)
  succeeded = opts['succeeded']
  if succeeded
    @output.print ".".foreground(:cyan)
  else
    @output.print "E".foreground(:red)
    @output.puts
    @output.puts
    @output.puts opts["emittedOutputText"].color(DARK_GRAY_COLOR)
  end
end

#end_test(opts) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 50

def end_test(opts)
  succeeded = opts["succeeded"]
  if succeeded
    output = opts["output"]
    if output[/\[([A-Z]+)\]/] == '[PENDING]'
      @output.print "*".foreground(:yellow)
      @pending << opts
    else
      @output.print ".".foreground(:green)
      @passed << opts
    end
  else
    @output.print "F".foreground(:red)
    @failed << opts
  end
end

#test_output(opts) ⇒ Object



44
45
46
47
48
# File 'lib/april_oneil/formatters/kiwi_progress.rb', line 44

def test_output(opts)
  # print NSLog statements while ignoring Kiwi output
  output = opts["output"]
  @output.print output.color(DARK_GRAY_COLOR) unless output =~ /^.+\[.+\] \+/
end